- (djm) Fix vsprintf("%h") in bsd-snprintf.c, short int va_args are
   promoted to type int. Report and fix from Dan Astoorian
   <djast@cs.toronto.edu>
diff --git a/ChangeLog b/ChangeLog
index 2d25eeb..07abae0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@
  - (djm) Added /etc/primes for kex DH group neg, fixup Makefile.in and
    packaging files
  - (djm) Fix new Makefile.in warnings
+ - (djm) Fix vsprintf("%h") in bsd-snprintf.c, short int va_args are 
+   promoted to type int. Report and fix from Dan Astoorian 
+   <djast@cs.toronto.edu>
 
 20001110
  - (bal) Fixed dropped answer from skey_keyinfo() in auth1.c
diff --git a/bsd-snprintf.c b/bsd-snprintf.c
index 3a82a58..59fefbf 100644
--- a/bsd-snprintf.c
+++ b/bsd-snprintf.c
@@ -260,7 +260,7 @@
       case 'd':
       case 'i':
 	if (cflags == DP_C_SHORT) 
-	  value = va_arg (args, short int);
+	  value = va_arg (args, int);
 	else if (cflags == DP_C_LONG)
 	  value = va_arg (args, long int);
 	else if (cflags == DP_C_LONG_LONG)
@@ -272,7 +272,7 @@
       case 'o':
 	flags |= DP_F_UNSIGNED;
 	if (cflags == DP_C_SHORT)
-	  value = va_arg (args, unsigned short int);
+	  value = va_arg (args, unsigned int);
 	else if (cflags == DP_C_LONG)
 	  value = va_arg (args, unsigned long int);
 	else if (cflags == DP_C_LONG_LONG)
@@ -284,7 +284,7 @@
       case 'u':
 	flags |= DP_F_UNSIGNED;
 	if (cflags == DP_C_SHORT)
-	  value = va_arg (args, unsigned short int);
+	  value = va_arg (args, unsigned int);
 	else if (cflags == DP_C_LONG)
 	  value = va_arg (args, unsigned long int);
 	else if (cflags == DP_C_LONG_LONG)
@@ -298,7 +298,7 @@
       case 'x':
 	flags |= DP_F_UNSIGNED;
 	if (cflags == DP_C_SHORT)
-	  value = va_arg (args, unsigned short int);
+	  value = va_arg (args, unsigned int);
 	else if (cflags == DP_C_LONG)
 	  value = va_arg (args, unsigned long int);
 	else if (cflags == DP_C_LONG_LONG)