diff options
author | Manuel Reimer <manuel.reimer@gmx.de> | 2018-03-18 11:35:54 +0100 |
---|---|---|
committer | Manuel Reimer <manuel.reimer@gmx.de> | 2018-03-18 11:36:47 +0100 |
commit | f6d725077240339d3bdfd3719e736a1bcb2b176f (patch) | |
tree | af016cb538560074a0e24400d3db97a003a4f990 /glcddrivers/st7565r-reel.c | |
parent | 3d9c2cbae4365c1c76dafc4b91ef2085f9c701e5 (diff) | |
download | graphlcd-base-f6d725077240339d3bdfd3719e736a1bcb2b176f.tar.gz graphlcd-base-f6d725077240339d3bdfd3719e736a1bcb2b176f.tar.bz2 |
st7565r-reel: Prevent possible segfault
Diffstat (limited to 'glcddrivers/st7565r-reel.c')
-rw-r--r-- | glcddrivers/st7565r-reel.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/glcddrivers/st7565r-reel.c b/glcddrivers/st7565r-reel.c index 29b6a39..0f13486 100644 --- a/glcddrivers/st7565r-reel.c +++ b/glcddrivers/st7565r-reel.c @@ -265,6 +265,11 @@ void cDriverST7565RReel::display_cmd(unsigned char cmd) void cDriverST7565RReel::display_data(unsigned char *data, unsigned char l) { + if (l > 60) + { + syslog(LOG_ERR, "cDriverST7565RReel::display_data buffer length exceeded!"); + } + unsigned char buf[64]={0xa5,0x05,(unsigned char)(l+2),+1}; memcpy(buf+4,data,l); port->WriteData(buf, l+4); |