--- ./rpmio/macro.c.unchecked-eol 2005-11-12 02:18:23.000000000 +0100 +++ ./rpmio/macro.c 2006-06-17 16:12:05.828106835 +0200 @@ -1256,7 +1256,7 @@ chkexist = 0; switch ((c = *s)) { default: /* %name substitution */ - while (strchr("!?", *s) != NULL) { + while (*s && strchr("!?", *s) != NULL) { switch(*s++) { case '!': negate = ((negate + 1) % 2);