sha1_to_hex() returns a pointer to a static buffer. Some of its users modify that buffer by appending a newline character. Other users rely on the fact that you can call
printf("%s", sha1_to_hex(sha1));Just to be on the safe side, terminate the SHA1 in sha1_to_hex().
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
sha1_file.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
3a743c154546e4937b4afdc7848d9943ec2f4148
Show changes to sha1_file.c +2 −0
diff --git a/sha1_file.c b/sha1_file.c index 6011473..d451a94 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -81,6 +81,8 @@ char * sha1_to_hex(const unsigned char * *buf++ = hex[val >> 4]; *buf++ = hex[val & 0xf]; } + *buf = '\0'; + return buffer; }
-- 1.0.0