forked from aniani/vim
patch 9.1.1035: Vim9: memory leak with blob2str()
Problem: Vim9: memory leak with blob2str() Solution: free converted_str (Yegappan Lakshmanan) closes: #16481 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
2cb8246eb9
commit
90b397586d
@@ -1366,9 +1366,10 @@ f_blob2str(typval_T *argvars, typval_T *rettv)
|
||||
}
|
||||
}
|
||||
|
||||
if (list_append_string(rettv->vval.v_list, converted_str, -1) == FAIL)
|
||||
break;
|
||||
int ret = list_append_string(rettv->vval.v_list, converted_str, -1);
|
||||
vim_free(converted_str);
|
||||
if (ret == FAIL)
|
||||
break;
|
||||
}
|
||||
|
||||
done:
|
||||
|
@@ -4311,6 +4311,10 @@ func Test_blob2str()
|
||||
call assert_equal(["🁰🁳"], blob2str(0zF09F81B0.F09F81B3))
|
||||
call assert_equal(['«»'], blob2str(0zABBB, {'encoding': 'latin1'}))
|
||||
call assert_equal(['«»'], blob2str(0zC2ABC2BB, {'encoding': 'utf8'}))
|
||||
call assert_equal(['«»'], blob2str(0zC2ABC2BB, {'encoding': 'utf-8'}))
|
||||
|
||||
call assert_equal(['a'], blob2str(0z61, test_null_dict()))
|
||||
call assert_equal(['a'], blob2str(0z61, {'encoding': test_null_string()}))
|
||||
|
||||
#" Invalid encoding
|
||||
call assert_fails("call blob2str(0z80)", "E1515: Unable to convert from 'utf-8' encoding")
|
||||
|
@@ -704,6 +704,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1035,
|
||||
/**/
|
||||
1034,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user