http-push memory/fd cleanup
PATCH 5/5 http-push memory/fd cleanup
Clean up memory and file descriptor usage
Signed-off-by Nick Hengeveld <[email protected]>
---
http-push.c | 17 ++++++++++++++--- 1 files changed, 14 insertions(+), 3 deletions(-)
applies-to: 697c3fa609568c3befb803dd8a131814ca1fad6a 898a8d2e69916757f423a8bd487d97f19c06c1e0
http-push.c +14 -3
@@ -165,6 +165,7 @@ static void start_check(struct transfer_ }else { request->state =ABORTED ;free (request->url); + request->url =NULL ; } }
@@ -198,6 +199,7 @@ static void start_mkcol(struct transfer_ }else { request->state =ABORTED ;free (request->url); + request->url =NULL ; } }
@@ -244,8 +246,6 @@ static void start_put(struct transfer_re request->buffer.size = stream.total_out; request->buffer.posn =0 ; -if (request->url !=NULL ) -free (request->url); request->url =xmalloc (strlen (remote->url) +strlen (request->lock->token) +51 );strcpy (request->url, remote->url);
@@ -281,6 +281,7 @@ static void start_put(struct transfer_re }else { request->state =ABORTED ;free (request->url); + request->url =NULL ; } }
@@ -306,6 +307,7 @@ static void start_move(struct transfer_r }else { request->state =ABORTED ;free (request->url); + request->url =NULL ; } }
@@ -370,6 +372,13 @@ static void finish_request(struct transfif (request->headers !=NULL )curl_slist_free_all (request->headers); + +/* URL is reused for MOVE after PUT */ +if (request->state !=RUN_PUT ) { +free (request->url); + request->url =NULL ; + } +if (request->state ==RUN_HEAD ) {if (request->http_code ==404 ) { request->state =NEED_PUSH ;
@@ -435,7 +444,8 @@ static void release_request(struct trans entry->next = entry->next->next; } -free (request->url); +if (request->url !=NULL ) +free (request->url);free (request); }
@@ -575,6 +585,7 @@ static int fetch_index(unsigned char *sh } }else {free (url); +fclose (indexfile);return error ("Unable to start request" ); }
---
0.99.9.GIT