patch 8.2.2712: memory leak when adding to a blob fails
Problem: Memory leak when adding to a blob fails.
Solution: Clear the second typval before returning.
diff --git a/src/eval.c b/src/eval.c
index 55fda77..d492649 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3008,10 +3008,12 @@
n1 = tv_get_number_chk(rettv, &error);
if (error)
{
- // This can only happen for "list + non-list". For
- // "non-list + ..." or "something - ...", we returned
- // before evaluating the 2nd operand.
+ // This can only happen for "list + non-list" or
+ // "blob + non-blob". For "non-list + ..." or
+ // "something - ...", we returned before evaluating the
+ // 2nd operand.
clear_tv(rettv);
+ clear_tv(&var2);
return FAIL;
}
#ifdef FEAT_FLOAT