Fixed memory leaks and uninitialized values.

This commit is contained in:
EvilPudding
2016-02-24 20:15:47 +00:00
parent 0417ed63a8
commit bda6fa9d30
3 changed files with 5 additions and 3 deletions

View File

@@ -1,5 +1,6 @@
CC = gcc CC = gcc
CCFLAGS = -ansi -Wall -Wshadow -O2 CCFLAGS = -ansi -Wall -Wshadow -O2
LFLAGS = -lm LFLAGS = -lm

View File

@@ -63,6 +63,7 @@ static te_expr *new_expr(const int type, const te_expr *members[]) {
int member_count = te_get_arity(type); int member_count = te_get_arity(type);
size_t member_size = sizeof(te_expr*) * member_count; size_t member_size = sizeof(te_expr*) * member_count;
te_expr *ret = malloc(sizeof(te_expr) + member_size); te_expr *ret = malloc(sizeof(te_expr) + member_size);
ret->member_count = member_count;
if(!members) { if(!members) {
memset(ret->members, 0, member_size); memset(ret->members, 0, member_size);
} else { } else {