Fwd: New Defects reported by Coverity Scan for git
From: Stefan Beller <hidden>
Date: 2017-07-18 16:59:29
I looked at this report for a while. My current understanding:
* its detection was triggered by including rs/move-array,
f331ab9d4c (use MOVE_ARRAY, 2017-07-15)
* But it is harmless, because the scan logic does not understand
how ALLOC_GROW works. It assumes that
done_pbase_paths_alloc can be larger
than done_pbase_paths_num + 1, while done_pbase_paths
is NULL, such that the memory allocation is not triggered.
If that were the case, then we have 2 subsequent dereferences
of a NULL pointer right after that. But by inspecting the use
of _alloc and _num the initial assumption does not seem possible.
Stefan
---------- Forwarded message ----------
From: <redacted>
Date: Tue, Jul 18, 2017 at 2:53 AM
Subject: New Defects reported by Coverity Scan for git
To: sbeller@google.com
Hi,
Please find the latest report on new defect(s) introduced to git found
with Coverity Scan.
2 new defect(s) introduced to git found with Coverity Scan.
1 defect(s), reported by Coverity Scan earlier, were marked fixed in
the recent build analyzed by Coverity Scan.
New defect(s) Reported-by: Coverity Scan
Showing 2 of 2 defect(s)
** CID 1415508: Null pointer dereferences (FORWARD_NULL)
/builtin/pack-objects.c: 1292 in check_pbase_path()
________________________________________________________________________________________________________
*** CID 1415508: Null pointer dereferences (FORWARD_NULL)
/builtin/pack-objects.c: 1292 in check_pbase_path()
1286 }
1287 return -lo-1;
1288 }
1289
1290 static int check_pbase_path(unsigned hash)
1291 {quoted
quoted
CID 1415508: Null pointer dereferences (FORWARD_NULL) Comparing "done_pbase_paths" to null implies that "done_pbase_paths" might be null.
1292 int pos = (!done_pbase_paths) ? -1 : done_pbase_path_pos(hash); 1293 if (0 <= pos) 1294 return 1; 1295 pos = -pos - 1; 1296 ALLOC_GROW(done_pbase_paths, 1297 done_pbase_paths_num + 1, ** CID 1415507: Null pointer dereferences (FORWARD_NULL) /builtin/pack-objects.c: 1303 in check_pbase_path() ________________________________________________________________________________________________________ *** CID 1415507: Null pointer dereferences (FORWARD_NULL) /builtin/pack-objects.c: 1303 in check_pbase_path() 1297 done_pbase_paths_num + 1, 1298 done_pbase_paths_alloc); 1299 done_pbase_paths_num++; 1300 if (pos < done_pbase_paths_num) 1301 MOVE_ARRAY(done_pbase_paths + pos + 1, done_pbase_paths + pos, 1302 done_pbase_paths_num - pos - 1);
quoted
quoted
CID 1415507: Null pointer dereferences (FORWARD_NULL) Dereferencing null pointer "done_pbase_paths".
1303 done_pbase_paths[pos] = hash;
1304 return 0;
1305 }
1306
1307 static void add_preferred_base_object(const char *name)
1308 {
________________________________________________________________________________________________________
To view the defects in Coverity Scan visit,
https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRb8HAP5hlBzHe8sORKm64S-2F81GsNbRdSrOteP-2FXoviMkw-3D-3D_PwiGIFugGOKqSZ6DZhASdI2SvWKInry4kHBXrJUc9pnRRRwN8fPiR-2BR4LTK2qB-2F8DwbeZJjY7Zg2FBdb8jgiAk7m6rh1YdNCvPYCPUewgRcPRcmkOFDltPB2GLYjg5Pl86kCKSRkx6inI-2BuknVr53Cjba4HgtlWmCuW5A0WMiIFvSKDW3-2BKYfPjiZDMCOFSGSLivQrUyaTeOHAHjl-2FNvbw-3D-3D
To manage Coverity Scan email notifications for "sbeller@google.com",
click https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRbVDbis712qZDP-2FA8y06Nq4rtNFBzV5kav4CghkcEfRxSYnY6rsKHvgCYp1ThXvyV0VWbGuKIDENjx2sj6ivdYZu-2BNbJM6lgB1oY5D28iuW580xRVIt7xUSma4mf0o8-2BwE-3D_PwiGIFugGOKqSZ6DZhASdI2SvWKInry4kHBXrJUc9pnRRRwN8fPiR-2BR4LTK2qB-2F8ec7P8LTccgviKTLC0eUY7vUYOHaxCJX7GTQpS8ooD-2BtrxVu-2BilxPyHEoqsJLDaUcr6ObouH5nHR8K0ccYTKk6yC1yT-2BgMwWml4OIILno46DqjVrTy1kpeg4B-2BRv4QBTs54v6KZ4s-2FPtTLU3-2BsF7qgg-3D-3D