cfparser: cf_set_filename - fix off-by-one error
authorMarko Kreen <markokr@gmail.com>
Thu, 8 Sep 2011 15:32:28 +0000 (17:32 +0200)
committerMarko Kreen <markokr@gmail.com>
Thu, 8 Sep 2011 15:32:28 +0000 (17:32 +0200)
Final string was terminated in wrong place

usual/cfparser.c

index 5b17fe3367e97a53a0d7ad4dd77207f95927f3b1..55dbd757ad81881c9e364c388bc538faacd093a9 100644 (file)
@@ -416,7 +416,7 @@ bool cf_set_filename(struct CfValue *cv, const char *value)
                return false;
        memcpy(tmp, home, home_len);
        memcpy(tmp + home_len, value + usr_len + 1, v_len - usr_len - 1);
-       tmp[v_len - usr_len + home_len] = 0;
+       tmp[v_len - 1 - usr_len + home_len] = 0;
 
        log_debug("expanded '%s' -> '%s'", value, tmp);