From 7cb7642c0e293cb4d25b53fbcacb8c3262396c25 Mon Sep 17 00:00:00 2001 From: Christos Zoulas Date: Wed, 31 Oct 2012 17:03:41 +0000 Subject: [PATCH] PR/208: Fix buildid format --- src/readelf.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/readelf.c b/src/readelf.c index 0d35d76f..bda59ea7 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -27,7 +27,7 @@ #include "file.h" #ifndef lint -FILE_RCSID("@(#)$File: readelf.c,v 1.92 2012/06/20 22:33:43 christos Exp $") +FILE_RCSID("@(#)$File: readelf.c,v 1.93 2012/10/31 17:03:41 christos Exp $") #endif #ifdef BUILTIN_ELF @@ -465,13 +465,14 @@ donote(struct magic_set *ms, void *vbuf, size_t offset, size_t size, if (namesz == 4 && strcmp((char *)&nbuf[noff], "GNU") == 0 && xnh_type == NT_GNU_BUILD_ID && (descsz == 16 || descsz == 20)) { - uint32_t desc[5], i; - if (file_printf(ms, ", BuildID[%s]=0x", descsz == 16 ? "md5/uuid" : + uint8_t desc[20]; + uint32_t i; + if (file_printf(ms, ", BuildID[%s]=", descsz == 16 ? "md5/uuid" : "sha1") == -1) return size; (void)memcpy(desc, &nbuf[doff], descsz); - for (i = 0; i < descsz >> 2; i++) - if (file_printf(ms, "%.8x", desc[i]) == -1) + for (i = 0; i < descsz; i++) + if (file_printf(ms, "%02x", desc[i]) == -1) return size; *flags |= FLAGS_DID_BUILD_ID; } -- 2.50.0