Commit 9a64e62f by Etienne Samson Committed by Edward Thomson

http: check certificate validity before clobbering the error variable

parent 75db289a
...@@ -624,13 +624,12 @@ static int http_connect(http_subtransport *t) ...@@ -624,13 +624,12 @@ static int http_connect(http_subtransport *t)
if ((!error || error == GIT_ECERTIFICATE) && t->owner->certificate_check_cb != NULL && if ((!error || error == GIT_ECERTIFICATE) && t->owner->certificate_check_cb != NULL &&
git_stream_is_encrypted(t->io)) { git_stream_is_encrypted(t->io)) {
git_cert *cert; git_cert *cert;
int is_valid; int is_valid = (error == GIT_OK);
if ((error = git_stream_certificate(&cert, t->io)) < 0) if ((error = git_stream_certificate(&cert, t->io)) < 0)
return error; return error;
giterr_clear(); giterr_clear();
is_valid = error != GIT_ECERTIFICATE;
error = t->owner->certificate_check_cb(cert, is_valid, t->connection_data.host, t->owner->message_cb_payload); error = t->owner->certificate_check_cb(cert, is_valid, t->connection_data.host, t->owner->message_cb_payload);
if (error < 0) { if (error < 0) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment