2010/7/30 Eric Blake <eblake(a)redhat.com>:
Found by clang. Clang complained that virStorageBackendProbeTarget
could dereference NULL if backingStoreFormat was NULL, but since all
callers passed a valid pointer, I added attributes instead of null
checks.
* src/storage/storage_backend.c
(virStorageBackendQEMUImgBackingFormat): Kill dead store.
* src/storage/storage_backend_fs.c (virStorageBackendProbeTarget):
Likewise. Skip null checks, by adding attributes.
---
Thankfully, the null dereference scenario noted by clang was never
triggered in the code, which is good since it was introduced as
part of fixing a CVE.
src/storage/storage_backend.c | 3 +--
src/storage/storage_backend_fs.c | 34 +++++++++++++++-------------------
2 files changed, 16 insertions(+), 21 deletions(-)
@@ -75,7 +73,7 @@ virStorageBackendProbeTarget(virStorageVolTargetPtr
target,
allocation,
capacity)) < 0) {
close(fd);
- return -1;
+ return ret;
Why do you return ret here? Doing so doesn't harm but it's not
necessary, virStorageBackendUpdateVolTargetInfoFD returns 0 or -1
only, in contrast to virStorageBackendVolOpenCheckMode that can return
0, -1 or -2.
ACK.
Matthias