projects
/
platform
/
upstream
/
libsolv.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1c4b8b6
)
make addfilelist more resistant against corrupt rpms
author
Michael Schroeder
<mls@suse.de>
Mon, 13 Jan 2014 17:25:50 +0000
(18:25 +0100)
committer
Michael Schroeder
<mls@suse.de>
Mon, 13 Jan 2014 17:25:50 +0000
(18:25 +0100)
ext/repo_rpmdb.c
patch
|
blob
|
history
diff --git
a/ext/repo_rpmdb.c
b/ext/repo_rpmdb.c
index
0bfb503
..
9ab49d6
100644
(file)
--- a/
ext/repo_rpmdb.c
+++ b/
ext/repo_rpmdb.c
@@
-645,7
+645,7
@@
adddudata(Repodata *data, Id handle, RpmHead *rpmhead, char **dn, unsigned int *
for (i = 0; i < fc; i++)
{
if (di[i] >= dc)
- continue;
+ continue;
/* corrupt entry */
fn[di[i]]++;
if (fsz[i] == 0 || !S_ISREG(fm[i]))
continue;
@@
-683,7
+683,7
@@
addfilelist(Repodata *data, Id handle, RpmHead *rpmhead)
int bnc, dnc, dic;
int i;
Id lastdid = 0;
- int lastdii = -1;
+
unsigned
int lastdii = -1;
if (!data)
return;
@@
-720,6
+720,8
@@
addfilelist(Repodata *data, Id handle, RpmHead *rpmhead)
did = lastdid;
else
{
+ if (di[i] >= dnc)
+ continue; /* corrupt entry */
did = repodata_str2dir(data, dn[di[i]], 1);
if (!did)
did = repodata_str2dir(data, "/", 1);