]> granicus.if.org Git - re2c/commitdiff
Fixed memory leak.
authorUlya Trofimovich <skvadrik@gmail.com>
Mon, 23 Jan 2017 18:09:05 +0000 (18:09 +0000)
committerUlya Trofimovich <skvadrik@gmail.com>
Mon, 23 Jan 2017 18:09:05 +0000 (18:09 +0000)
Found by valgrind:

 1,177 bytes in 1 blocks are definitely lost in loss record 1 of 1
    at 0x4C2AE40: operator new[](unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x42153F: re2c::cfg_t::compact(re2c::cfg_t const&, int*) (compact.cc:12)
    by 0x422088: re2c::optimize_tags(re2c::dfa_t&) (optimize.cc:18)
    by 0x42DE3A: re2c::compile(re2c::spec_t const&, re2c::Output&) (compile.cc:82)
    by 0x446742: re2c::parse(re2c::Scanner&, re2c::Output&) (parser.ypp:484)
    by 0x402DC0: main (main.cc:38)

re2c/src/ir/dfa/cfg/compact.cc

index 11a39836005164f9b50e912eb83639d3477aa53c..444fb46c1c3220bd402ba67396bcbf6bca2df6ff 100644 (file)
@@ -34,6 +34,7 @@ tagver_t cfg_t::compact(const cfg_t &cfg, tagver_t *ver2new)
                }
        }
 
+       delete[] used;
        return maxver;
 }