54 lines
1.8 KiB
Diff
54 lines
1.8 KiB
Diff
From ab1b0bf0f3611b556627f42e5accb1063acd91cc Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
|
|
Date: Mon, 20 May 2019 14:19:01 +0200
|
|
Subject: [PATCH 1/3] import: Don't call unlink(NULL)
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Although `man 3 unlink` doesn't mention what should be the unlink()
|
|
behaviour when NULL is passed to it, both coverity and clang complains
|
|
about that.
|
|
|
|
Error: FORWARD_NULL (CWE-476):
|
|
osinfo-db-tools-1.5.0/tools/osinfo-db-import.c:157: var_compare_op:
|
|
Comparing "*source_file" to null implies that "*source_file" might be
|
|
null.
|
|
osinfo-db-tools-1.5.0/tools/osinfo-db-import.c:181: var_deref_model:
|
|
Passing null pointer "*source_file" to "unlink", which dereferences it.
|
|
# 179| g_error_free(err);
|
|
# 180| if (ret != 0)
|
|
# 181|-> unlink(*source_file);
|
|
# 182|
|
|
# 183| return ret;
|
|
|
|
Error: CLANG_WARNING:
|
|
osinfo-db-tools-1.5.0/tools/osinfo-db-import.c:181:9: warning: Null
|
|
pointer passed as an argument to a 'nonnull' parameter
|
|
# unlink(*source_file);
|
|
# ^
|
|
|
|
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
|
|
Reviewed-by: Cole Robinson <crobinso@redhat.com>
|
|
(cherry picked from commit 07be7309d830419c27ec65c76905d1e23219f480)
|
|
---
|
|
tools/osinfo-db-import.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/tools/osinfo-db-import.c b/tools/osinfo-db-import.c
|
|
index 920f71b..11e68ae 100644
|
|
--- a/tools/osinfo-db-import.c
|
|
+++ b/tools/osinfo-db-import.c
|
|
@@ -177,7 +177,7 @@ osinfo_db_import_download_file(GFile *file,
|
|
g_object_unref(out);
|
|
if (err != NULL)
|
|
g_error_free(err);
|
|
- if (ret != 0)
|
|
+ if (ret != 0 && *source_file != NULL)
|
|
unlink(*source_file);
|
|
|
|
return ret;
|
|
--
|
|
2.21.0
|
|
|