summaryrefslogtreecommitdiff
path: root/s_expression.cpp
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2010-06-23 18:30:55 -0700
committerCarl Worth <cworth@cworth.org>2010-06-23 19:00:42 -0700
commit007efe50fdd87c8ceb2a700b6105ce6f00ba56e8 (patch)
treed84ce32650b7cc667b987187068a5c3363d3a400 /s_expression.cpp
parente01193af325cbdde51b3219c85c58f19d5a87f1b (diff)
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.
Diffstat (limited to 's_expression.cpp')
-rw-r--r--s_expression.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/s_expression.cpp b/s_expression.cpp
index 875d739d84..26be23ea8f 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()