X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fretr.c;fp=src%2Fretr.c;h=f57b2c6d68fb385f6c999e11929802148edf6b29;hp=3df582b8f500d3278d0230d69746e216f51cabef;hb=586ade4fb19021fb8893912cda13875ae4120236;hpb=0a8a898fbec5a66b3d1978d4db857a82d623f546 diff --git a/src/retr.c b/src/retr.c index 3df582b8..f57b2c6d 100644 --- a/src/retr.c +++ b/src/retr.c @@ -307,11 +307,16 @@ fd_read_body (int fd, FILE *out, wgint toread, wgint startpos, } remaining_chunk_size = strtol (line, &endl, 16); + xfree (line); + if (remaining_chunk_size == 0) { ret = 0; - if (fd_read_line (fd) == NULL) + line = fd_read_line (fd); + if (line == NULL) ret = -1; + else + xfree (line); break; } } @@ -371,11 +376,16 @@ fd_read_body (int fd, FILE *out, wgint toread, wgint startpos, { remaining_chunk_size -= ret; if (remaining_chunk_size == 0) - if (fd_read_line (fd) == NULL) - { - ret = -1; - break; - } + { + char *line = fd_read_line (fd); + if (line == NULL) + { + ret = -1; + break; + } + else + xfree (line); + } } }