projects
/
tools
/
librpm-tizen.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
74c9a96
)
Don't return data from headerGet() on regionSwab() failure
author
Panu Matilainen
<pmatilai@redhat.com>
Tue, 10 Mar 2009 08:17:13 +0000
(10:17 +0200)
committer
Panu Matilainen
<pmatilai@redhat.com>
Tue, 10 Mar 2009 08:17:13 +0000
(10:17 +0200)
- callers dont expect to free data if headerGet() returns failure,
leaking memory
lib/header.c
patch
|
blob
|
history
diff --git
a/lib/header.c
b/lib/header.c
index
96a6f1c
..
8cac975
100644
(file)
--- a/
lib/header.c
+++ b/
lib/header.c
@@
-1183,6
+1183,10
@@
static int copyTdEntry(const indexEntry entry, rpmtd td, headerGetFlags flags)
dataStart = (unsigned char *) memcpy(pe + ril, dataStart, rdl);
rc = regionSwab(NULL, ril, 0, pe, dataStart, dataStart + rdl, 0);
+ /* don't return data on failure */
+ if (rc < 0) {
+ td->data = _free(td->data);
+ }
/* XXX 1 on success. */
rc = (rc < 0) ? 0 : 1;
} else {