Compiler heuristics for detection of potentially uninitialized variables may change between compiler versions and enabling link-time optimization may find new warnings. Indeed, compiling with gcc 9.2.1 and enabled link-time optimization feature resulted in a few hits that are fixed by this patch in the most naïve way. This allows to compile git using the DEVELOPER=1 switch (which sets -Werror) and using the -flto flag. Signed-off-by: Stephan Beyer <s-beyer@xxxxxxx> --- builtin/am.c | 2 +- builtin/pack-objects.c | 2 +- bulk-checkin.c | 2 ++ fast-import.c | 3 ++- t/helper/test-read-cache.c | 2 +- 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/builtin/am.c b/builtin/am.c index 1aea657a7f..ab914fd46e 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -1266,7 +1266,7 @@ static int get_mail_commit_oid(struct object_id *commit_id, const char *mail) static void get_commit_info(struct am_state *state, struct commit *commit) { const char *buffer, *ident_line, *msg; - size_t ident_len; + size_t ident_len = 0; struct ident_split id; buffer = logmsg_reencode(commit, NULL, get_commit_output_encoding()); diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 76ce906946..d0c03b0e9b 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -1171,7 +1171,7 @@ static int add_object_entry(const struct object_id *oid, enum object_type type, { struct packed_git *found_pack = NULL; off_t found_offset = 0; - uint32_t index_pos; + uint32_t index_pos = 0; display_progress(progress_state, ++nr_seen); diff --git a/bulk-checkin.c b/bulk-checkin.c index 39ee7d6107..87fa28c227 100644 --- a/bulk-checkin.c +++ b/bulk-checkin.c @@ -200,6 +200,8 @@ static int deflate_to_pack(struct bulk_checkin_state *state, struct hashfile_checkpoint checkpoint; struct pack_idx_entry *idx = NULL; + checkpoint.offset = 0; + seekback = lseek(fd, 0, SEEK_CUR); if (seekback == (off_t) -1) return error("cannot find the current offset"); diff --git a/fast-import.c b/fast-import.c index b44d6a467e..58f73f9105 100644 --- a/fast-import.c +++ b/fast-import.c @@ -903,7 +903,8 @@ static int store_object( struct object_entry *e; unsigned char hdr[96]; struct object_id oid; - unsigned long hdrlen, deltalen; + unsigned long hdrlen; + unsigned long deltalen = 0; git_hash_ctx c; git_zstream s; diff --git a/t/helper/test-read-cache.c b/t/helper/test-read-cache.c index 7e79b555de..ef0963e2f4 100644 --- a/t/helper/test-read-cache.c +++ b/t/helper/test-read-cache.c @@ -4,7 +4,7 @@ int cmd__read_cache(int argc, const char **argv) { - int i, cnt = 1, namelen; + int i, cnt = 1, namelen = 0; const char *name = NULL; if (argc > 1 && skip_prefix(argv[1], "--print-and-refresh=", &name)) { -- 2.23.0.38.g7ab3f3815a