summaryrefslogtreecommitdiff
path: root/http-push.c
diff options
context:
space:
mode:
authorCarlo Marcelo Arenas Belón <carenas@gmail.com>2019-05-14 21:11:17 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-05-15 02:03:08 (GMT)
commit9dde06de130463c20f8b603ed3a3ffe10347f2f1 (patch)
treece28534f3755ace4bb2975f1652d0bc6a62bcf50 /http-push.c
parentaeb582a98374c094361cba1bd756dc6307432c42 (diff)
downloadgit-9dde06de130463c20f8b603ed3a3ffe10347f2f1.zip
git-9dde06de130463c20f8b603ed3a3ffe10347f2f1.tar.gz
git-9dde06de130463c20f8b603ed3a3ffe10347f2f1.tar.bz2
http-push: prevent format overflow warning with gcc >= 9
In function 'finish_request', inlined from 'process_response' at http-push.c:248:2: http-push.c:587:4: warning: '%s' directive argument is null [-Wformat-overflow=] 587 | fprintf(stderr, "Unable to get pack file %s\n%s", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 588 | request->url, curl_errorstr); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ request->url is needed for the error message if there was a failure during fetch but was being cleared unnecessarily earlier. note that the leak is prevented by calling release_request unconditionally at the end. Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> Suggested-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'http-push.c')
-rw-r--r--http-push.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/http-push.c b/http-push.c
index b22c7ca..f56cd91 100644
--- a/http-push.c
+++ b/http-push.c
@@ -525,8 +525,8 @@ static void finish_request(struct transfer_request *request)
if (request->headers != NULL)
curl_slist_free_all(request->headers);
- /* URL is reused for MOVE after PUT */
- if (request->state != RUN_PUT) {
+ /* URL is reused for MOVE after PUT and used during FETCH */
+ if (request->state != RUN_PUT && request->state != RUN_FETCH_PACKED) {
FREE_AND_NULL(request->url);
}