From 007efe50fdd87c8ceb2a700b6105ce6f00ba56e8 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Wed, 23 Jun 2010 18:30:55 -0700 Subject: [PATCH] s_symbol: Close memory leak of symbol name. Easily done now that s_expression is allocated with talloc. Simply switch from new to talloc_strdup and the job is done. This closes the great majority (11263) of the remaining leaks in the glsl-orangebook-ch06-bump.frag test: total heap usage: 55,623 allocs, 55,546 frees (was 44,283 frees) This test is now 99.86% leak-free. --- s_expression.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/s_expression.cpp b/s_expression.cpp index 875d739d842..26be23ea8fa 100644 --- a/s_expression.cpp +++ b/s_expression.cpp @@ -30,8 +30,8 @@ s_symbol::s_symbol(const char *tmp) { - this->str = new char [strlen(tmp) + 1]; - strcpy(this->str, tmp); + this->str = talloc_strdup (this, tmp); + assert(this->str != NULL); } s_list::s_list() -- 2.30.2