diff options
| -rw-r--r-- | src/transports/smart_pkt.c | 5 | ||||
| -rw-r--r-- | src/transports/smart_protocol.c | 13 |
2 files changed, 8 insertions, 10 deletions
diff --git a/src/transports/smart_pkt.c b/src/transports/smart_pkt.c index 48243305f..d0151a76e 100644 --- a/src/transports/smart_pkt.c +++ b/src/transports/smart_pkt.c @@ -370,7 +370,7 @@ static int32_t parse_len(const char *line) num[k] = '.'; } } - + giterr_set(GITERR_NET, "invalid hex digit in length: '%s'", num); return -1; } @@ -483,6 +483,9 @@ int git_pkt_parse_line( void git_pkt_free(git_pkt *pkt) { + if (pkt == NULL) { + return; + } if (pkt->type == GIT_PKT_REF) { git_pkt_ref *p = (git_pkt_ref *) pkt; git__free(p->head.name); diff --git a/src/transports/smart_protocol.c b/src/transports/smart_protocol.c index dd2d27ecd..943ee758f 100644 --- a/src/transports/smart_protocol.c +++ b/src/transports/smart_protocol.c @@ -321,9 +321,7 @@ static int wait_while_ack(gitno_buffer *buf) git_pkt_ack *ack = NULL; while (1) { - if (pkt) { - git_pkt_free(pkt); - } + git_pkt_free(pkt); if ((error = recv_pkt(&pkt, NULL, buf)) < 0) return error; @@ -342,9 +340,7 @@ static int wait_while_ack(gitno_buffer *buf) } } - if (pkt) { - git_pkt_free(pkt); - } + git_pkt_free(pkt); return 0; } @@ -622,9 +618,8 @@ int git_smart__download_pack( } } - if (pkt) { - git_pkt_free(pkt); - } + git_pkt_free(pkt); + if (error < 0) goto done; |
