summaryrefslogtreecommitdiff
path: root/backport-Check-file-iterator-for-being-NULL-consistently.patch
blob: ecc32bb4c0363a5f4e6c06be97fd92766341240c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
From 470498bd5a51f8d98ae8e721beea58ef81c19a51 Mon Sep 17 00:00:00 2001
From: Florian Festi <ffesti@redhat.com>
Date: Wed, 22 Sep 2021 16:10:53 +0200
Subject: [PATCH] Check file iterator for being NULL consistently

No point in allowing NULL only for one of the arguments.

Thanks to ex0z3 (https://github.com/ex0z3) for reporting!

Resolves: #1782
---
 lib/rpmfi.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/lib/rpmfi.c b/lib/rpmfi.c
index c6c9699..b67680c 100644
--- a/lib/rpmfi.c
+++ b/lib/rpmfi.c
@@ -735,7 +735,7 @@ uint32_t rpmfilesFLinks(rpmfiles fi, int ix, const int ** files)
 
 uint32_t rpmfiFLinks(rpmfi fi, const int ** files)
 {
-    return rpmfilesFLinks(fi->files, fi ? fi->i : -1, files);
+    return rpmfilesFLinks(fi ? fi->files : NULL, fi ? fi->i : -1, files);
 }
 
 uint32_t rpmfilesFNlink(rpmfiles fi, int ix)
@@ -1948,22 +1948,22 @@ const char * rpmfiOFN(rpmfi fi)
 
 const unsigned char * rpmfiFDigest(rpmfi fi, int *algo, size_t *len)
 {
-    return rpmfilesFDigest(fi->files, fi ? fi->i : -1, algo, len);
+    return rpmfilesFDigest(fi ? fi->files : NULL, fi ? fi->i : -1, algo, len);
 }
 
 const unsigned char * rpmfiFSignature(rpmfi fi, size_t *len)
 {
-    return rpmfilesFSignature(fi->files, fi ? fi->i : -1, len);
+    return rpmfilesFSignature(fi ? fi->files : NULL, fi ? fi->i : -1, len);
 }
 
 const unsigned char * rpmfiVSignature(rpmfi fi, size_t *len, uint16_t *algo)
 {
-    return rpmfilesVSignature(fi->files, fi ? fi->i : -1, len, algo);
+    return rpmfilesVSignature(fi ? fi->files : NULL, fi ? fi->i : -1, len, algo);
 }
 
 uint32_t rpmfiFDepends(rpmfi fi, const uint32_t ** fddictp)
 {
-    return rpmfilesFDepends(fi->files,  fi ? fi->i : -1, fddictp);
+    return rpmfilesFDepends(fi ? fi->files : NULL,  fi ? fi->i : -1, fddictp);
 }
 
 int rpmfiStat(rpmfi fi, int flags, struct stat *sb)
@@ -1983,7 +1983,8 @@ int rpmfiStat(rpmfi fi, int flags, struct stat *sb)
 
 int rpmfiCompare(const rpmfi afi, const rpmfi bfi)
 {
-    return rpmfilesCompare(afi->files, afi ? afi->i : -1, bfi->files, bfi ? bfi->i : -1);
+    return rpmfilesCompare(afi ? afi->files : NULL, afi ? afi->i : -1,
+			   bfi ? bfi->files : NULL, bfi ? bfi->i : -1);
 }
 
 rpmVerifyAttrs rpmfiVerify(rpmfi fi, rpmVerifyAttrs omitMask)
-- 
1.8.3.1