summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Beier <dontmind@freeshell.org>2016-01-27 15:08:14 +0530
committerChristian Beier <dontmind@freeshell.org>2016-01-27 15:08:14 +0530
commit5b322f523faa437d8e7d03736bdb1714e8f84ce5 (patch)
treea86c3befee7746b4cd1174e05ba1d2922e6e1fa3
parent5d74ac366f64fe3dbeb5a11ec246ca7242a47a64 (diff)
parent488a47e3dd20d558c52d22369a2e6b87df208656 (diff)
downloadlibtdevnc-5b322f523faa437d8e7d03736bdb1714e8f84ce5.tar.gz
libtdevnc-5b322f523faa437d8e7d03736bdb1714e8f84ce5.zip
Merge pull request #99 from spaceone/master
Ignore null pointers in FillRectangle() and CopyRectangleFromRectangle()
-rw-r--r--libvncclient/rfbproto.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libvncclient/rfbproto.c b/libvncclient/rfbproto.c
index e2a583c..187a56a 100644
--- a/libvncclient/rfbproto.c
+++ b/libvncclient/rfbproto.c
@@ -150,6 +150,10 @@ void* rfbClientGetClientData(rfbClient* client, void* tag)
static void FillRectangle(rfbClient* client, int x, int y, int w, int h, uint32_t colour) {
int i,j;
+ if (client->frameBuffer == NULL) {
+ return;
+ }
+
#define FILL_RECT(BPP) \
for(j=y*client->width;j<(y+h)*client->width;j+=client->width) \
for(i=x;i<x+w;i++) \
@@ -193,6 +197,10 @@ static void CopyRectangle(rfbClient* client, uint8_t* buffer, int x, int y, int
static void CopyRectangleFromRectangle(rfbClient* client, int src_x, int src_y, int w, int h, int dest_x, int dest_y) {
int i,j;
+ if (client->frameBuffer == NULL) {
+ return;
+ }
+
#define COPY_RECT_FROM_RECT(BPP) \
{ \
uint##BPP##_t* _buffer=((uint##BPP##_t*)client->frameBuffer)+(src_y-dest_y)*client->width+src_x-dest_x; \