Bläddra i källkod

Bug 630097 - (cov#11946) NULL dereference in ResHashCreate()

If we jump to the error label due to an error allocating memory
for pResHash->treelist, we try to do a free of
pResHash->treelist->vlist without checking if pResHash->treelist
is NULL. We need to perform this NULL check before dereferencing
pResHash->treelist.
Nathan Kinder 15 år sedan
förälder
incheckning
7c00bf728c
1 ändrade filer med 1 tillägg och 1 borttagningar
  1. 1 1
      lib/libsi18n/reshash.c

+ 1 - 1
lib/libsi18n/reshash.c

@@ -276,7 +276,7 @@ ResHash * ResHashCreate(char * name)
     goto done;
 
 error:
-    if (pResHash->treelist->vlist) free(pResHash->treelist->vlist);
+    if (pResHash->treelist && pResHash->treelist->vlist) free(pResHash->treelist->vlist);
     if (pResHash->treelist) free(pResHash->treelist);
     if (pResHash) free(pResHash);
     return NULL;