diff options
author | Anton Luka Šijanec <anton@sijanec.eu> | 2023-03-11 16:30:32 +0100 |
---|---|---|
committer | Anton Luka Šijanec <anton@sijanec.eu> | 2023-03-11 16:30:32 +0100 |
commit | 44ada6ae69bc7e49d374bba8f682a6dfeaa07ef6 (patch) | |
tree | 5d09284ebedfbe4b77a81edea2d0341fc2d230fa /src/bencoding.c | |
parent | add included files to makefile (diff) | |
download | travnik-44ada6ae69bc7e49d374bba8f682a6dfeaa07ef6.tar travnik-44ada6ae69bc7e49d374bba8f682a6dfeaa07ef6.tar.gz travnik-44ada6ae69bc7e49d374bba8f682a6dfeaa07ef6.tar.bz2 travnik-44ada6ae69bc7e49d374bba8f682a6dfeaa07ef6.tar.lz travnik-44ada6ae69bc7e49d374bba8f682a6dfeaa07ef6.tar.xz travnik-44ada6ae69bc7e49d374bba8f682a6dfeaa07ef6.tar.zst travnik-44ada6ae69bc7e49d374bba8f682a6dfeaa07ef6.zip |
Diffstat (limited to 'src/bencoding.c')
-rw-r--r-- | src/bencoding.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/bencoding.c b/src/bencoding.c index 6e8a2a2..991ac9c 100644 --- a/src/bencoding.c +++ b/src/bencoding.c @@ -453,13 +453,17 @@ struct bencoding * bdecode_safe (const char * s, int len, enum benc opts, unsign b->intvalue = strtol(s+1, &ch, 10); b->valuelen = ch-(s+1); b->value = malloc(b->valuelen+1); - if (!b->value) + if (!b->value) { + free(b); return NULL; + } strncpy(b->value, s+1, b->valuelen); b->value[b->valuelen] = '\0'; b->after = s+2+b->valuelen; - } else + } else { + free(b); return NULL; + } break; case 'd': /* dict */ b->type = dict; |