Skip to content

Commit

Permalink
Merge branch 'jk/maint-http-half-auth-push' into maint
Browse files Browse the repository at this point in the history
* jk/maint-http-half-auth-push:
  http: fix segfault in handle_curl_result
  • Loading branch information
Junio C Hamano committed Oct 17, 2012
2 parents 5a77ff7 + 188923f commit e98fa64
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
7 changes: 3 additions & 4 deletions http.c
Original file line number Diff line number Diff line change
Expand Up @@ -745,10 +745,9 @@ char *get_remote_object_url(const char *url, const char *hex,
return strbuf_detach(&buf, NULL);
}

int handle_curl_result(struct active_request_slot *slot)
int handle_curl_result(struct active_request_slot *slot,
struct slot_results *results)
{
struct slot_results *results = slot->results;

if (results->curl_result == CURLE_OK) {
credential_approve(&http_auth);
return HTTP_OK;
Expand Down Expand Up @@ -822,7 +821,7 @@ static int http_request(const char *url, void *result, int target, int options)

if (start_active_slot(slot)) {
run_active_slot(slot);
ret = handle_curl_result(slot);
ret = handle_curl_result(slot, &results);
} else {
error("Unable to start HTTP request for %s", url);
ret = HTTP_START_FAILED;
Expand Down
3 changes: 2 additions & 1 deletion http.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@ extern int start_active_slot(struct active_request_slot *slot);
extern void run_active_slot(struct active_request_slot *slot);
extern void finish_active_slot(struct active_request_slot *slot);
extern void finish_all_active_slots(void);
extern int handle_curl_result(struct active_request_slot *slot);
extern int handle_curl_result(struct active_request_slot *slot,
struct slot_results *results);

#ifdef USE_CURL_MULTI
extern void fill_active_slots(void);
Expand Down
2 changes: 1 addition & 1 deletion remote-curl.c
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ static int run_slot(struct active_request_slot *slot)
slot->curl_result = curl_easy_perform(slot->curl);
finish_active_slot(slot);

err = handle_curl_result(slot);
err = handle_curl_result(slot, &results);
if (err != HTTP_OK && err != HTTP_REAUTH) {
error("RPC failed; result=%d, HTTP code = %ld",
results.curl_result, results.http_code);
Expand Down

0 comments on commit e98fa64

Please sign in to comment.