jshn: fix off by one in jshn_parse_file
Fixes following error: Invalid read of size 1 at 0x4C32D04: strlen by 0x5043367: json_tokener_parse_ex by 0x5045316: json_tokener_parse_verbose by 0x504537D: json_tokener_parse by 0x401AB1: jshn_parse (jshn.c:179) by 0x40190D: jshn_parse_file (jshn.c:370) by 0x40190D: main (jshn.c:434) Address 0x5848c4c is 0 bytes after a block of size 1,036 alloc'd at 0x4C2FB0F: malloc by 0x4018E2: jshn_parse_file (jshn.c:357) by 0x4018E2: main (jshn.c:434) Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
parent
cb698e3540
commit
8e832a771d
1 changed files with 1 additions and 1 deletions
2
jshn.c
2
jshn.c
|
@ -354,7 +354,7 @@ static int jshn_parse_file(const char *path)
|
|||
return 3;
|
||||
}
|
||||
|
||||
if (!(fbuf = malloc(sb.st_size))) {
|
||||
if (!(fbuf = calloc(1, sb.st_size+1))) {
|
||||
fprintf(stderr, "Error allocating memory for %s\n", path);
|
||||
close(fd);
|
||||
return 3;
|
||||
|
|
Loading…
Reference in a new issue