Submitted By: Bruce Dubbs (bdubbs at linuxfromscratch dot org) Date: 2014-04-18 Initial Package Version: 1.06.95 Origin: Gentoo Description: Fixes memory leaks and an uninitialized variable diff -Naur bc-1.06.95.orig/bc/bc.y bc-1.06.95/bc/bc.y --- bc-1.06.95.orig/bc/bc.y 2006-09-04 21:39:31.000000000 -0500 +++ bc-1.06.95/bc/bc.y 2014-04-09 13:27:04.602661243 -0500 @@ -569,6 +569,7 @@ generate (">"); break; } + free($2); } | expression '+' expression { diff -Naur bc-1.06.95.orig/bc/storage.c bc-1.06.95/bc/storage.c --- bc-1.06.95.orig/bc/storage.c 2006-09-04 21:39:31.000000000 -0500 +++ bc-1.06.95/bc/storage.c 2014-04-09 13:28:11.770763410 -0500 @@ -99,6 +99,7 @@ { f = &functions[indx]; f->f_defined = FALSE; + f->f_void = FALSE; f->f_body = (char *) bc_malloc (BC_START_SIZE); f->f_body_size = BC_START_SIZE; f->f_code_size = 0; diff -Naur bc-1.06.95.orig/bc/util.c bc-1.06.95/bc/util.c --- bc-1.06.95.orig/bc/util.c 2006-09-04 21:39:31.000000000 -0500 +++ bc-1.06.95/bc/util.c 2014-04-09 13:27:39.841190064 -0500 @@ -602,8 +602,7 @@ case FUNCTDEF: if (id->f_name != 0) { - if (namekind != FUNCT) - free(name); + free(name); /* Check to see if we are redefining a math lib function. */ if (use_math && namekind == FUNCTDEF && id->f_name <= 6) id->f_name = next_func++;