projects
/
platform
/
upstream
/
rpm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f18cba6
)
Fix potential buffer overflow in macro findEntry()
author
Panu Matilainen
<pmatilai@redhat.com>
Mon, 27 Aug 2007 06:51:52 +0000
(09:51 +0300)
committer
Panu Matilainen
<pmatilai@redhat.com>
Mon, 27 Aug 2007 06:51:52 +0000
(09:51 +0300)
Avoid static buffer, we know the size...
(transplanted from
8f1561181ab7e3570e2bc05a8741ae13c74b18df
)
rpmio/macro.c
patch
|
blob
|
history
diff --git
a/rpmio/macro.c
b/rpmio/macro.c
index
3c2070d
..
6dc173f
100644
(file)
--- a/
rpmio/macro.c
+++ b/
rpmio/macro.c
@@
-253,7
+253,7
@@
findEntry(MacroContext mc, const char * name, size_t namelen)
{
MacroEntry key, *ret;
struct MacroEntry_s keybuf;
- char
namebuf[1024]
;
+ char
*namebuf = NULL
;
/*@-globs@*/
if (mc == NULL) mc = rpmGlobalMacroContext;
@@
-263,6
+263,8
@@
findEntry(MacroContext mc, const char * name, size_t namelen)
/*@-branchstate@*/
if (namelen > 0) {
+ namebuf = alloca(namelen + 1);
+ memset(namebuf, 0, (namelen + 1));
strncpy(namebuf, name, namelen);
namebuf[namelen] = '\0';
name = namebuf;