Eric Sunshine <sunshine@xxxxxxxxxxxxxx> writes: >> if (request->curl_result != CURLE_OK) { >> fprintf(stderr, "Unable to get pack file %s\n%s", >> - request->url, curl_errorstr); >> + request->url ? request->url : "", >> + curl_errorstr); >> } else { > > If I'm reading the code correctly, the conditional and "true" branch > of the ternary expression are dead code since 'request->url' will > unconditionally be NULL due to the: > > /* URL is reused for MOVE after PUT */ > if (request->state != RUN_PUT) { > FREE_AND_NULL(request->url); > } > > earlier in the function. If you want to present a meaningful error > message here, I could imagine squirreling-away the URL so it can be > used in the error message, or re-working the code so that > FREE_AND_NULL(request->url) is only done when and if needed. That matches my understanding.