diff options
author | Jean Boussier <[email protected]> | 2023-02-20 11:09:32 +0100 |
---|---|---|
committer | Hiroshi SHIBATA <[email protected]> | 2023-12-01 16:47:06 +0900 |
commit | 698cb8406298ff289ba7abadf34abc3d09a07ef0 (patch) | |
tree | a7016c9cb9e817ff8f1375b73476da97481c5269 | |
parent | 32f289d118b442a712af28c2af44384f5cb07db1 (diff) |
Use ruby_xfree to free buffers
They are allocated with ruby_xmalloc, they should be freed with
ruby_xfree.
-rw-r--r-- | ext/json/parser/parser.c | 8 | ||||
-rw-r--r-- | ext/json/parser/parser.rl | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/ext/json/parser/parser.c b/ext/json/parser/parser.c index 095dd99e50..bcd0816f90 100644 --- a/ext/json/parser/parser.c +++ b/ext/json/parser/parser.c @@ -1497,7 +1497,7 @@ static VALUE json_string_unescape(char *string, char *stringEnd, int intern, int case 'u': if (pe > stringEnd - 4) { if (bufferSize > MAX_STACK_BUFFER_SIZE) { - free(bufferStart); + ruby_xfree(bufferStart); } rb_enc_raise( EXC_ENCODING eParserError, @@ -1510,7 +1510,7 @@ static VALUE json_string_unescape(char *string, char *stringEnd, int intern, int pe++; if (pe > stringEnd - 6) { if (bufferSize > MAX_STACK_BUFFER_SIZE) { - free(bufferStart); + ruby_xfree(bufferStart); } rb_enc_raise( EXC_ENCODING eParserError, @@ -1555,13 +1555,13 @@ static VALUE json_string_unescape(char *string, char *stringEnd, int intern, int result = rb_utf8_str_new(bufferStart, (long)(buffer - bufferStart)); } if (bufferSize > MAX_STACK_BUFFER_SIZE) { - free(bufferStart); + ruby_xfree(bufferStart); } # else result = rb_utf8_str_new(bufferStart, (long)(buffer - bufferStart)); if (bufferSize > MAX_STACK_BUFFER_SIZE) { - free(bufferStart); + ruby_xfree(bufferStart); } if (intern) { diff --git a/ext/json/parser/parser.rl b/ext/json/parser/parser.rl index 2602d91f55..e6d5d3c152 100644 --- a/ext/json/parser/parser.rl +++ b/ext/json/parser/parser.rl @@ -508,7 +508,7 @@ static VALUE json_string_unescape(char *string, char *stringEnd, int intern, int case 'u': if (pe > stringEnd - 4) { if (bufferSize > MAX_STACK_BUFFER_SIZE) { - free(bufferStart); + ruby_xfree(bufferStart); } rb_enc_raise( EXC_ENCODING eParserError, @@ -521,7 +521,7 @@ static VALUE json_string_unescape(char *string, char *stringEnd, int intern, int pe++; if (pe > stringEnd - 6) { if (bufferSize > MAX_STACK_BUFFER_SIZE) { - free(bufferStart); + ruby_xfree(bufferStart); } rb_enc_raise( EXC_ENCODING eParserError, @@ -566,13 +566,13 @@ static VALUE json_string_unescape(char *string, char *stringEnd, int intern, int result = rb_utf8_str_new(bufferStart, (long)(buffer - bufferStart)); } if (bufferSize > MAX_STACK_BUFFER_SIZE) { - free(bufferStart); + ruby_xfree(bufferStart); } # else result = rb_utf8_str_new(bufferStart, (long)(buffer - bufferStart)); if (bufferSize > MAX_STACK_BUFFER_SIZE) { - free(bufferStart); + ruby_xfree(bufferStart); } if (intern) { |