* src/pic16/glue.c (pic16_printIvalBitFields): prevent
authortecodev <tecodev@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 6 Dec 2008 23:31:13 +0000 (23:31 +0000)
committertecodev <tecodev@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 6 Dec 2008 23:31:13 +0000 (23:31 +0000)
  NULL pointer dereference, closes #2366757

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@5277 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
src/pic16/glue.c

index 37ed4e16c08ee6e09aec6a0a0cdfb25b9306a3ff..2fa91c7704bffb882e8b33322b98afedb1a549ee 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-12-07 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/glue.c (pic16_printIvalBitFields): prevent
+         NULL pointer dereference, closes #2366757
+
 2008-11-25 Raphael Neider <rneider AT web.de>
 
        * device/include/pic16/pic16devices.txt,
index 2d1b53161aaf21710a6b391dacd890aecd352d36..5645e6d98e968b785c35e4e697efc1590b9814e1 100644 (file)
@@ -810,7 +810,7 @@ pic16_printIvalBitFields (symbol **sym, initList **ilist, char ptype, void *p)
             size = (bit_length + 7) / 8;
 
           ival |= (ulFromVal (val) & ((1ul << bit_length) - 1ul)) << SPEC_BSTR (lsym->etype);
-          lilist = lilist->next;
+          lilist = (lilist ? lilist->next : NULL);
         }
       lsym = lsym->next;
     }