Commit 34b320535bde5505429f1349fc7d5cc423857a20

Patrick Steinhardt 2016-11-25T15:02:34

Fix potential use of uninitialized values

diff --git a/src/pack.c b/src/pack.c
index 2ee0c60..56de64d 100644
--- a/src/pack.c
+++ b/src/pack.c
@@ -509,8 +509,10 @@ int git_packfile_resolve_header(
 		git_packfile_stream_free(&stream);
 		if (error < 0)
 			return error;
-	} else
+	} else {
 		*size_p = size;
+		base_offset = 0;
+	}
 
 	while (type == GIT_OBJ_OFS_DELTA || type == GIT_OBJ_REF_DELTA) {
 		curpos = base_offset;
diff --git a/src/patch_generate.c b/src/patch_generate.c
index a13f2ff..0e5d1db 100644
--- a/src/patch_generate.c
+++ b/src/patch_generate.c
@@ -284,7 +284,7 @@ static int create_binary(
 	size_t b_datalen)
 {
 	git_buf deflate = GIT_BUF_INIT, delta = GIT_BUF_INIT;
-	size_t delta_data_len;
+	size_t delta_data_len = 0;
 	int error;
 
 	/* The git_delta function accepts unsigned long only */
diff --git a/src/transports/smart_protocol.c b/src/transports/smart_protocol.c
index c41de4e..53c0b08 100644
--- a/src/transports/smart_protocol.c
+++ b/src/transports/smart_protocol.c
@@ -728,7 +728,7 @@ static int add_push_report_pkt(git_push *push, git_pkt *pkt)
 static int add_push_report_sideband_pkt(git_push *push, git_pkt_data *data_pkt, git_buf *data_pkt_buf)
 {
 	git_pkt *pkt;
-	const char *line, *line_end;
+	const char *line, *line_end = NULL;
 	size_t line_len;
 	int error;
 	int reading_from_buf = data_pkt_buf->size > 0;