Petter Reinholdtsen wrote: > I believe there is a minor memory leak in udpkg. This patch fixes it. > It will need a review and some testing before it is commited. > > Index: status.c > =================================================================== > --- status.c (revisjon 29314) > +++ status.c (arbeidskopi) > @@ -106,6 +111,8 @@ > strcat(multiple_lines, " "); > strcat(multiple_lines, buf); > } > + if (NULL != *ml) > + free(*ml); > *ml = multiple_lines; > ungetc(ch, f); > return EXIT_SUCCESS;
Hmm, if you look at the callers of read_block(), all of them pass a pointer to strdup("") in which is silly if we'll always free it. So we could instead just: Index: status.c =================================================================== --- status.c (revision 29522) +++ status.c (working copy) @@ -143,7 +143,6 @@ else if (strstr(buf, "Description: ") == buf) { p->description = strdup(buf+13); - p->long_description = strdup(""); read_block(f, &p->long_description); } #ifdef DOL18N @@ -158,7 +157,6 @@ buf[14] = '\0'; l->language = strdup(buf+12); l->description = strdup(buf+16); - l->long_description = strdup(""); read_block(f, &l->long_description); } @@ -198,7 +196,6 @@ } else if (strstr(buf, "Conffiles: ") == buf) { - p->conffiles = strdup(""); read_block(f, &p->conffiles); } -- see shy jo
signature.asc
Description: Digital signature