Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Oct 2011 15:04:58 +0000 (UTC)
From:      Dag-Erling Smorgrav <des@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r226262 - head/usr.bin/kdump
Message-ID:  <201110111504.p9BF4w3N020690@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: des
Date: Tue Oct 11 15:04:58 2011
New Revision: 226262
URL: http://svn.freebsd.org/changeset/base/226262

Log:
  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@

Modified:
  head/usr.bin/kdump/kdump.c

Modified: head/usr.bin/kdump/kdump.c
==============================================================================
--- head/usr.bin/kdump/kdump.c	Tue Oct 11 15:03:42 2011	(r226261)
+++ head/usr.bin/kdump/kdump.c	Tue Oct 11 15:04:58 2011	(r226262)
@@ -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__)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201110111504.p9BF4w3N020690>