diff options
author | Jan200101 <sentrycraft123@gmail.com> | 2022-06-28 17:44:01 +0200 |
---|---|---|
committer | Jan200101 <sentrycraft123@gmail.com> | 2022-06-28 17:44:01 +0200 |
commit | a51036bf447a699511452da773dc4fad02192849 (patch) | |
tree | 116b9ec1d527e02db9023c836721bd046fe320ff /src/vdf/vdf.c | |
parent | a93baa212f3c7b57a08cb9084d38994290195d78 (diff) | |
download | OFQT-a51036bf447a699511452da773dc4fad02192849.tar.gz OFQT-a51036bf447a699511452da773dc4fad02192849.zip |
add unit tests for vdf & md5, allow escaped quotesvdf-parser
Diffstat (limited to 'src/vdf/vdf.c')
-rw-r--r-- | src/vdf/vdf.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/vdf/vdf.c b/src/vdf/vdf.c index 160577f..2708a5d 100644 --- a/src/vdf/vdf.c +++ b/src/vdf/vdf.c @@ -43,6 +43,9 @@ struct vdf_object* vdf_parse_buffer(const char* buffer, size_t size) switch (*tail) { case CHAR_DOUBLE_QUOTE: + if (tail > buffer && *(tail-1) == CHAR_BACKSLASH) + break; + if (!buf) { buf = tail+1; @@ -115,7 +118,9 @@ struct vdf_object* vdf_parse_buffer(const char* buffer, size_t size) else { size_t len = tail - buf; - o->key = strndup(buf, len); + o->key = malloc(len+1); + strncpy(o->key, buf, len); + o->key[len] = '\0'; buf = NULL; } break; |