summaryrefslogtreecommitdiffstats
path: root/usr.bin/kdump
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2011-10-11 15:04:58 +0000
committerdes <des@FreeBSD.org>2011-10-11 15:04:58 +0000
commit0fb3102c12b669417c078f617889c3ddd5e59fe4 (patch)
treed6a24603f47d4dae66319403e3390c89760a96ee /usr.bin/kdump
parent35a20a3582f12acabd4bbf035b9f72eb232b2184 (diff)
downloadFreeBSD-src-0fb3102c12b669417c078f617889c3ddd5e59fe4.zip
FreeBSD-src-0fb3102c12b669417c078f617889c3ddd5e59fe4.tar.gz
The previous commit did not fix the issue since it did not prevent sign
extension. Cast to u_register_t first, then to uintmax_t. Submitted by: bde@
Diffstat (limited to 'usr.bin/kdump')
-rw-r--r--usr.bin/kdump/kdump.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c
index ae3b4a4..7e1c08d 100644
--- a/usr.bin/kdump/kdump.c
+++ b/usr.bin/kdump/kdump.c
@@ -110,14 +110,14 @@ struct ktr_header ktr_header;
#define TIME_FORMAT "%b %e %T %Y"
#define eqs(s1, s2) (strcmp((s1), (s2)) == 0)
-#define print_number(i,n,c) do { \
- if (decimal) \
- printf("%c%jd", c, (intmax_t)*i); \
- else \
- printf("%c%#jx", c, (uintmax_t)*i); \
- i++; \
- n--; \
- c = ','; \
+#define print_number(i,n,c) do { \
+ if (decimal) \
+ printf("%c%jd", c, (intmax_t)*i); \
+ else \
+ printf("%c%#jx", c, (uintmax_t)(u_register_t)*i); \
+ i++; \
+ n--; \
+ c = ','; \
} while (0)
#if defined(__amd64__) || defined(__i386__)
OpenPOWER on IntegriCloud