Piotr Caban : jscript: Fixed a leak in regexp_match function.
Alexandre Julliard
julliard at winehq.org
Fri Jan 25 13:31:49 CST 2013
Module: wine
Branch: master
Commit: c45c7bf94cb41f30149f2e81d72bbe3f4e6096c0
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c45c7bf94cb41f30149f2e81d72bbe3f4e6096c0
Author: Piotr Caban <piotr at codeweavers.com>
Date: Fri Jan 25 16:48:07 2013 +0100
jscript: Fixed a leak in regexp_match function.
---
dlls/jscript/regexp.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/dlls/jscript/regexp.c b/dlls/jscript/regexp.c
index a06550d..65ddc24 100644
--- a/dlls/jscript/regexp.c
+++ b/dlls/jscript/regexp.c
@@ -3464,10 +3464,15 @@ static HRESULT regexp_match(script_ctx_t *ctx, jsdisp_t *dispex, jsstr_t *str, B
break;
if(ret_size == i) {
- if(ret)
- ret = heap_realloc(ret, (ret_size <<= 1) * sizeof(match_result_t));
- else
+ if(ret) {
+ match_result_t *old_ret = ret;
+
+ ret = heap_realloc(old_ret, (ret_size <<= 1) * sizeof(match_result_t));
+ if(!ret)
+ heap_free(old_ret);
+ }else {
ret = heap_alloc((ret_size=4) * sizeof(match_result_t));
+ }
if(!ret) {
hres = E_OUTOFMEMORY;
break;
More information about the wine-cvs
mailing list