summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean Boussier <[email protected]>2023-02-20 11:09:32 +0100
committerHiroshi SHIBATA <[email protected]>2023-12-01 16:47:06 +0900
commit698cb8406298ff289ba7abadf34abc3d09a07ef0 (patch)
treea7016c9cb9e817ff8f1375b73476da97481c5269
parent32f289d118b442a712af28c2af44384f5cb07db1 (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.c8
-rw-r--r--ext/json/parser/parser.rl8
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) {