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]