diff --git a/src/rcfile.c b/src/rcfile.c index 59fd38324796050e6ca9cd0926ba032a2b447caf..b88d71af4afff2294e8563d0a619ff615dc35ed8 100644 --- a/src/rcfile.c +++ b/src/rcfile.c @@ -848,17 +848,17 @@ void pick_up_name(const char *kind, char *ptr, char **storage) /* If the argument starts with a quote, find the terminating quote. */ if (*ptr == '"') { - char *look = ++ptr; - - look += strlen(ptr); + char *look = ptr + strlen(ptr); while (*look != '"') { - if (--look < ptr) { + if (--look == ptr) { rcfile_error(N_("Argument of '%s' lacks closing \""), kind); return; } } + *look = '\0'; + ptr++; } *storage = mallocstrcpy(*storage, ptr);