Skip to content

Commit 38e98ee

Browse files
committed
libvncserver: add missing NULL pointer checks
1 parent 74e8a70 commit 38e98ee

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

Diff for: libvncserver/rfbregion.c

+16-10
Original file line numberDiff line numberDiff line change
@@ -51,24 +51,30 @@ sraSpanDup(const sraSpan *src) {
5151

5252
static void
5353
sraSpanInsertAfter(sraSpan *newspan, sraSpan *after) {
54-
newspan->_next = after->_next;
55-
newspan->_prev = after;
56-
after->_next->_prev = newspan;
57-
after->_next = newspan;
54+
if(newspan && after) {
55+
newspan->_next = after->_next;
56+
newspan->_prev = after;
57+
after->_next->_prev = newspan;
58+
after->_next = newspan;
59+
}
5860
}
5961

6062
static void
6163
sraSpanInsertBefore(sraSpan *newspan, sraSpan *before) {
62-
newspan->_next = before;
63-
newspan->_prev = before->_prev;
64-
before->_prev->_next = newspan;
65-
before->_prev = newspan;
64+
if(newspan && before) {
65+
newspan->_next = before;
66+
newspan->_prev = before->_prev;
67+
before->_prev->_next = newspan;
68+
before->_prev = newspan;
69+
}
6670
}
6771

6872
static void
6973
sraSpanRemove(sraSpan *span) {
70-
span->_prev->_next = span->_next;
71-
span->_next->_prev = span->_prev;
74+
if(span) {
75+
span->_prev->_next = span->_next;
76+
span->_next->_prev = span->_prev;
77+
}
7278
}
7379

7480
static void

Diff for: libvncserver/rfbserver.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,8 @@ rfbClientIteratorHead(rfbClientIteratorPtr i)
207207
rfbClientPtr
208208
rfbClientIteratorNext(rfbClientIteratorPtr i)
209209
{
210+
if (!i)
211+
return NULL;
210212
if(i->next == 0) {
211213
LOCK(rfbClientListMutex);
212214
i->next = i->screen->clientHead;
@@ -231,7 +233,7 @@ rfbClientIteratorNext(rfbClientIteratorPtr i)
231233
void
232234
rfbReleaseClientIterator(rfbClientIteratorPtr iterator)
233235
{
234-
if(iterator->next) rfbDecrClientRef(iterator->next);
236+
if(iterator && iterator->next) rfbDecrClientRef(iterator->next);
235237
free(iterator);
236238
}
237239

0 commit comments

Comments
 (0)