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.
diff --git a/s_expression.cpp b/s_expression.cpp
index 875d739..26be23e 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()