aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rpm/rpm/fprint-pointer-fix.patch
blob: 87a92eb9a1f99aaeeee87c2bd88fd0c392f0df3d (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
Upstream-Status: Submitted

From: Qing He <qing.he@intel.com>
Subject: [PATCH] rpm 5.4.0: Fix pointer mishandling

In fpLookupSubdir, data returned by hash should be of type
"struct rpmffi_s **" instead of "struct rpmffi_s *" to avoid
segfault.

Signed-off-by: Qing He <qing.he@intel.com>

diff --git a/rpmdb/fprint.c b/rpmdb/fprint.c
index 0e76148..82b8f45 100644
--- a/rpmdb/fprint.c
+++ b/rpmdb/fprint.c
@@ -333,7 +333,7 @@ restart:
     *te = '\0';
 
     while (te < se) {
-	struct rpmffi_s * recs;
+	struct rpmffi_s ** recs;
 	int numRecs;
 	int i;
 
@@ -346,8 +346,8 @@ restart:
 	    const char * link;
 	    int fx;
 
-	    fx = recs[i].fileno;
-	    fi =  recs[i].p->fi;
+	    fx = recs[i]->fileno;
+	    fi =  recs[i]->p->fi;
 	    flink = fi->flinks[fx];
 	    if (!(flink && *flink != '\0'))
 		continue;