History

plug 3 memory leaks

mischief committed 9 years ago

Commit 8bc5fc01 parent 8d0b5512 files · +14 −3Browse files

Unified · Split

2 files
  1. item.c +12 −3
  2. monst.c +2 −0
item.c+12−3
@@ -161,6 +161,7 @@ idbylistname(char *list) · 160 unmodified lines
161161 int i, cnt, pick;
162162 Ndbtuple *t, *nt;
163163 Ndbs search;
164+ ItemData *id;
164165
165166 t = ndbsearch(itemdb, &search, "itemlist", list);
166167 if(t == nil)
@@ -181,11 +182,17 @@ idbylistname(char *list) · 14 unmodified lines
181182
182183 /* walk this many forward */
183184 i = 0;
185+ id = nil;
184186 for(nt = t; nt != nil; nt = nt->entry){
185− if(strcmp(nt->attr, "items") == 0 && i++ == pick)
186− return idbyname(nt->val);
187+ if(strcmp(nt->attr, "items") == 0 && i++ == pick){
188+ id = idbyname(nt->val);
189+ break;
190+ }
187191 }
188− return nil;
192+
193+ ndbfree(t);
194+
195+ return id;
189196 }
190197
191198 ItemData*
@@ -231,6 +238,8 @@ okattr: · 39 unmodified lines
231238 continue;
232239 }
233240
241+ ndbfree(t);
242+
234243 idc = mallocz(sizeof(idcache), 1);
235244 assert(idc != nil);
236245
monst.c+2−0
@@ -150,6 +150,8 @@ okattr: · 149 unmodified lines
150150 continue;
151151 }
152152
153+ ndbfree(t);
154+
153155 mdc = mallocz(sizeof(mdcache), 1);
154156 assert(mdc != nil);
155157