From: LiaoShihua <shi...@iscas.ac.cn>

    following 'false' branch in line 20, 'tmp.word_state' leaks in line 26. So 
free 'tmp.word_state' before return 'rval'.
  
gcc/testsuite\ChangeLog:

        * gcc.dg/analyzer/pr103526.c:

---
 gcc/testsuite/gcc.dg/analyzer/pr103526.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/testsuite/gcc.dg/analyzer/pr103526.c 
b/gcc/testsuite/gcc.dg/analyzer/pr103526.c
index 39d60fd853e..7df2e4e7576 100644
--- a/gcc/testsuite/gcc.dg/analyzer/pr103526.c
+++ b/gcc/testsuite/gcc.dg/analyzer/pr103526.c
@@ -22,7 +22,8 @@ game_new(void)
        if ((rval = malloc(sizeof(*rval))) == NULL)
                goto err;
        memcpy(rval, &tmp, sizeof(*rval));
-
+       
+       free(tmp.word_state);
        return (rval);
 err:
        free(tmp.word_state);
-- 
2.31.1.windows.1

Reply via email to