Просмотр исходного кода

7z: copy/paste error in error checking, found by static analysis.

This was clearly copied from a previous line but wasn't updated with the
correct condition to check, so if malloc() failed, it would dereference NULL
instead of reporting an error.
(transplanted from 1dc6e265fefcc1fec8d68f096a73e1dca4bf0691)
Ryan C. Gordon 5 лет назад
Родитель
Сommit
48ffe8ddf5
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      src/physfs_archiver_7z.c

+ 1 - 1
src/physfs_archiver_7z.c

@@ -290,7 +290,7 @@ static PHYSFS_Io *SZIP_openRead(void *opaque, const char *path)
     io = NULL;
 
     buf = allocator.Malloc(outSizeProcessed);
-    GOTO_IF(rc != SZ_OK, PHYSFS_ERR_OUT_OF_MEMORY, SZIP_openRead_failed);
+    GOTO_IF(buf == NULL, PHYSFS_ERR_OUT_OF_MEMORY, SZIP_openRead_failed);
     memcpy(buf, outBuffer + offset, outSizeProcessed);
 
     alloc->Free(alloc, outBuffer);