fix a leak in devmodtranslate 3 terminal section

This commit is contained in:
dwarning 2012-11-06 20:56:27 +01:00
parent a4e0cfe341
commit 44786a490b
1 changed files with 7 additions and 0 deletions

View File

@ -1882,12 +1882,16 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod)
case 'z': /* hfet, mesa */
name = gettok(&t);
(void) sprintf(buffer, "%s ", name);
tfree(name);
name = gettok(&t);
(void) sprintf(buffer + strlen(buffer), "%s ", name);
tfree(name);
name = gettok(&t);
(void) sprintf(buffer + strlen(buffer), "%s ", name);
tfree(name);
name = gettok(&t);
(void) sprintf(buffer + strlen(buffer), "%s ", name);
tfree(name);
name = gettok(&t);
wlsub = wl_find(name, submod);
@ -1897,6 +1901,7 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod)
else
(void) sprintf(buffer + strlen(buffer), "%s:%s ", subname, name);
tfree(name);
(void) strcat(buffer, t);
tfree(s->li_line);
s->li_line = buffer;
@ -2078,6 +2083,8 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod)
else
(void) sprintf(buffer + strlen(buffer), "%s:%s ", subname, name);
tfree(name);
(void) strcat(buffer, t);
tfree(s->li_line);
s->li_line = buffer;