Skip to content

Commit 7cb7283

Browse files
tgummerergitster
authored andcommitted
ls-files: use correct format string
struct stat_data and struct cache_time both use unsigned ints for all their members. However the format string for 'git ls-files --debug' currently uses %d for formatting these numbers. This means that we potentially print these values incorrectly if they are greater than INT_MAX. This has been the case since the --debug option was introduced in 'git ls-files' in 8497421 ("ls-files: learn a debugging dump format", 2010-07-31). Signed-off-by: Thomas Gummerer <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent aeb582a commit 7cb7283

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

builtin/ls-files.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,11 @@ static void print_debug(const struct cache_entry *ce)
112112
if (debug_mode) {
113113
const struct stat_data *sd = &ce->ce_stat_data;
114114

115-
printf(" ctime: %d:%d\n", sd->sd_ctime.sec, sd->sd_ctime.nsec);
116-
printf(" mtime: %d:%d\n", sd->sd_mtime.sec, sd->sd_mtime.nsec);
117-
printf(" dev: %d\tino: %d\n", sd->sd_dev, sd->sd_ino);
118-
printf(" uid: %d\tgid: %d\n", sd->sd_uid, sd->sd_gid);
119-
printf(" size: %d\tflags: %x\n", sd->sd_size, ce->ce_flags);
115+
printf(" ctime: %u:%u\n", sd->sd_ctime.sec, sd->sd_ctime.nsec);
116+
printf(" mtime: %u:%u\n", sd->sd_mtime.sec, sd->sd_mtime.nsec);
117+
printf(" dev: %u\tino: %u\n", sd->sd_dev, sd->sd_ino);
118+
printf(" uid: %u\tgid: %u\n", sd->sd_uid, sd->sd_gid);
119+
printf(" size: %u\tflags: %x\n", sd->sd_size, ce->ce_flags);
120120
}
121121
}
122122

0 commit comments

Comments
 (0)