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
161 int i, cnt, pick;161 int i, cnt, pick;
162 Ndbtuple *t, *nt;162 Ndbtuple *t, *nt;
163 Ndbs search;163 Ndbs search;
164 ItemData *id;
164 165
165 t = ndbsearch(itemdb, &search, "itemlist", list);166 t = ndbsearch(itemdb, &search, "itemlist", list);
166 if(t == nil)167 if(t == nil)
@@ -181,11 +182,17 @@ idbylistname(char *list) · 14 unmodified lines
181 182
182 /* walk this many forward */183 /* walk this many forward */
183 i = 0;184 i = 0;
185 id = nil;
184 for(nt = t; nt != nil; nt = nt->entry){186 for(nt = t; nt != nil; nt = nt->entry){
185 if(strcmp(nt->attr, "items") == 0 && i++ == pick)187 if(strcmp(nt->attr, "items") == 0 && i++ == pick){
186 return idbyname(nt->val);188 id = idbyname(nt->val);
189 break;
190 }
187 }191 }
188 return nil;192
193 ndbfree(t);
194
195 return id;
189}196}
190 197
191ItemData*198ItemData*
@@ -231,6 +238,8 @@ okattr: · 39 unmodified lines
231 continue;238 continue;
232 }239 }
233 240
241 ndbfree(t);
242
234 idc = mallocz(sizeof(idcache), 1);243 idc = mallocz(sizeof(idcache), 1);
235 assert(idc != nil);244 assert(idc != nil);
236 245
monst.c+2−0
@@ -150,6 +150,8 @@ okattr: · 149 unmodified lines
150 continue;150 continue;
151 }151 }
152 152
153 ndbfree(t);
154
153 mdc = mallocz(sizeof(mdcache), 1);155 mdc = mallocz(sizeof(mdcache), 1);
154 assert(mdc != nil);156 assert(mdc != nil);
155 157