diff options
| author | Roger Gee <rpg11a@acu.edu> | 2017-06-10 11:46:09 -0500 |
|---|---|---|
| committer | Roger Gee <rpg11a@acu.edu> | 2017-06-10 11:46:09 -0500 |
| commit | e141f079965c80d87fb6792272284b885b826c32 (patch) | |
| tree | 976fcee9b4f4c67e51f07d49f3519281007ec303 /src | |
| parent | e476d5288cd8195063f775418efd7b7154880beb (diff) | |
| download | libgit2-e141f079965c80d87fb6792272284b885b826c32.tar.gz | |
smart_protocol: fix parsing of server ACK responses
Fix ACK parsing in wait_while_ack() internal function. This patch
handles the case where multi_ack_detailed mode sends 'ready' ACKs. The
existing functionality would bail out too early, thus causing the
processing of the ensuing packfile to fail if/when 'ready' ACKs were
sent.
Diffstat (limited to 'src')
| -rw-r--r-- | src/transports/smart_protocol.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/transports/smart_protocol.c b/src/transports/smart_protocol.c index 25e78c65a..8146fa163 100644 --- a/src/transports/smart_protocol.c +++ b/src/transports/smart_protocol.c @@ -325,7 +325,8 @@ static int wait_while_ack(gitno_buffer *buf) if (pkt->type == GIT_PKT_ACK && (pkt->status != GIT_ACK_CONTINUE && - pkt->status != GIT_ACK_COMMON)) { + pkt->status != GIT_ACK_COMMON && + pkt->status != GIT_ACK_READY)) { git__free(pkt); return 0; } |
