diff options
author | Nick Wellnhofer <wellnhofer@aevum.de> | 2023-03-16 17:12:01 +0100 |
---|---|---|
committer | Nick Wellnhofer <wellnhofer@aevum.de> | 2023-03-16 17:12:01 +0100 |
commit | 5d452a61d3580054c45501f761f233d34b8a29d3 (patch) | |
tree | 22ad5953b492959809f25579856b5ec5aaaece7a | |
parent | 7c8b2db575f53766d1ba41b45fd6764c6546d849 (diff) | |
download | libxslt-5d452a61d3580054c45501f761f233d34b8a29d3.tar.gz |
numbers: Fix memory leak in xsltFormatNumberConversion
Short-lived regression from f13329a6.
Found by OSS-Fuzz.
-rw-r--r-- | libxslt/numbers.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libxslt/numbers.c b/libxslt/numbers.c index 8a774a83..e0ae6259 100644 --- a/libxslt/numbers.c +++ b/libxslt/numbers.c @@ -993,11 +993,6 @@ xsltFormatNumberConversion(xsltDecimalFormatPtr self, return(status); } - buffer = xmlBufferCreate(); - if (buffer == NULL) { - return XPATH_MEMORY_ERROR; - } - format_info.integer_hash = 0; format_info.integer_digits = 0; format_info.frac_digits = 0; @@ -1287,6 +1282,11 @@ OUTPUT_NUMBER: break; } + buffer = xmlBufferCreate(); + if (buffer == NULL) { + return XPATH_MEMORY_ERROR; + } + /* Ready to output our number. First see if "default sign" is required */ if (default_sign != 0) xmlBufferAdd(buffer, self->minusSign, xmlUTF8Strsize(self->minusSign, 1)); |