Code

liboconfig: Make sure that option-strings can always be freed.
authorFlorian Forster <octo@leeloo.lan.home.verplant.org>
Mon, 18 Feb 2008 22:10:52 +0000 (23:10 +0100)
committerFlorian Forster <octo@leeloo.lan.home.verplant.org>
Mon, 18 Feb 2008 22:10:52 +0000 (23:10 +0100)
This resolved a nasty crash when including files.

src/liboconfig/parser.y

index 5d7b98dfc7e63b7f828de38f7d948a226149450d..8df2c6e5fb230eaed09db85d73e6ad8d5294a819 100644 (file)
@@ -210,8 +210,8 @@ static char *unquote (const char *orig)
        if ((len < 2) || (ret[0] != '"') || (ret[len - 1] != '"'))
                return (ret);
 
-       ret++;
        len -= 2;
+       memmove (ret, ret + 1, len);
        ret[len] = '\0';
 
        for (i = 0; i < len; i++)