Am Son, 27 Feb 2000 schrieb Richard Levitte:
>The second beta release of OpenSSL 0.9.5 is now available from the
>OpenSSL FTP site <URL: ftp://ftp.openssl.org/source/>.  This is the
>final beta.  If it's all working, the release won't differ except for
>the version number.
>
>The release of OpenSSL 0.9.5 is scheduled for Monday 2000-02-28.
>To make sure that it will work correctly, please test this version
>(especially on less common platforms), and report any problems to
><[EMAIL PROTECTED]>.


Hi,

it seems you just introduced a va_arg handling bug in beta2, remember you have
to pass a promoted type to va_arg, so va_arg(xyz, short int) is invalid C code.

gcc-2.96 errors out with:

b_print.c: In function `dopr':
b_print.c:295: `short int' is promoted to `int' when passed through `...'
b_print.c:295: (so you should pass `int' not `short int' to `va_arg')
b_print.c:319: `short unsigned int' is promoted to `int' when passed through `...'
b_print.c:319: (so you should pass `int' not `unsigned short int' to `va_arg')

The attached patch fixes that.

Franz.

--- openssl-0.9.5beta2/crypto/bio/b_print.c~    Sun Feb 27 05:15:36 2000
+++ openssl-0.9.5beta2/crypto/bio/b_print.c     Sun Feb 27 12:20:47 2000
@@ -292,7 +292,7 @@ dopr(
             case 'i':
                 switch (cflags) {
                 case DP_C_SHORT:
-                    value = va_arg(args, short int);
+                    value = (short int) va_arg(args, int);
                     break;
                 case DP_C_LONG:
                     value = va_arg(args, long int);
@@ -315,8 +315,8 @@ dopr(
                 flags |= DP_F_UNSIGNED;
                 switch (cflags) {
                 case DP_C_SHORT:
-                    value = va_arg(args,
-                        unsigned short int);
+                    value = (unsigned short int) va_arg(args,
+                        unsigned int);
                     break;
                 case DP_C_LONG:
                     value = (LLONG) va_arg(args,
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to