22 lines
623 B
Diff
22 lines
623 B
Diff
|
--- rpmio/macro.c.orig 2011-05-17 08:43:40.000000000 +0000
|
||
|
+++ rpmio/macro.c 2011-05-17 08:44:48.000000000 +0000
|
||
|
@@ -1016,12 +1016,12 @@ expandMacro(MacroBuf mb, const char *src
|
||
|
char *source = NULL;
|
||
|
|
||
|
/* Handle non-terminated substrings by creating a terminated copy */
|
||
|
- if (slen > 0) {
|
||
|
- source = xmalloc(slen + 1);
|
||
|
- strncpy(source, src, slen);
|
||
|
- source[slen] = '\0';
|
||
|
- s = source;
|
||
|
- }
|
||
|
+ if (!slen)
|
||
|
+ slen = strlen(src);
|
||
|
+ source = xmalloc(slen + 1);
|
||
|
+ strncpy(source, src, slen);
|
||
|
+ source[slen] = '\0';
|
||
|
+ s = source;
|
||
|
|
||
|
if (mb->buf == NULL) {
|
||
|
size_t blen = MACROBUFSIZ + strlen(s);
|