]> git.proxmox.com Git - mirror_edk2.git/commitdiff
CryptoPkg: TimestampTokenVerify(): fix gcc-4.8 / Ia32 build failure
authorLaszlo Ersek <lersek@redhat.com>
Fri, 14 Nov 2014 10:24:21 +0000 (10:24 +0000)
committerlersek <lersek@Edk2>
Fri, 14 Nov 2014 10:24:21 +0000 (10:24 +0000)
SVN r16339 ("CryptoPkg Updates to support RFC3161 timestamp signature
verification.") introduced the following build failure:

> CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c: In function
> 'TimestampTokenVerify':
> CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c:538:3: error: passing
> argument 2 of 'd2i_TS_TST_INFO' from incompatible pointer type [-Werror]
>    TstInfo = d2i_TS_TST_INFO (NULL, &TstTemp, (int)TstSize);
>    ^
> In file included from CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c:22:0:
> CryptoPkg/Include/openssl/asn1t.h:803:10: note: expected 'const unsigned
> char **' but argument is of type 'UINT8 **'
>   stname *d2i_##fname(stname **a, const unsigned char **in, long len) \
>           ^
> CryptoPkg/Include/openssl/asn1t.h:799:2: note: in expansion of macro
> 'IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname'
>   IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \
>   ^
> CryptoPkg/Include/openssl/asn1t.h:778:42: note: in expansion of macro
> 'IMPLEMENT_ASN1_FUNCTIONS_fname'
>  #define IMPLEMENT_ASN1_FUNCTIONS(stname)
> IMPLEMENT_ASN1_FUNCTIONS_fname(stname, stname, stname)
>                                           ^
> CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c:136:1: note: in expansion of
> macro 'IMPLEMENT_ASN1_FUNCTIONS'
>  IMPLEMENT_ASN1_FUNCTIONS (TS_TST_INFO)
>  ^
> cc1: all warnings being treated as errors

Note that the cast

  (const unsigned char **) &TstTemp

does not match the general edk2 coding style, but it *does* match
other similar casts in this file.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Build-tested-by: Scott Duplichan <scott@notabs.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Qin Long <qin.long@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16387 6f19259b-4bc3-4df7-8a09-765794883524

CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c

index 6cb12cc26cc2ae0fff378bd3b0cdc3dfcd270a68..e4b5a8497fdefc5debe3c7ab0beb2e5f0ca1d020 100644 (file)
@@ -535,7 +535,8 @@ TimestampTokenVerify (
   // Construct TS_TST_INFO structure from the signed contents.\r
   //\r
   TstTemp = TstData;\r
-  TstInfo = d2i_TS_TST_INFO (NULL, &TstTemp, (int)TstSize);\r
+  TstInfo = d2i_TS_TST_INFO (NULL, (const unsigned char **) &TstTemp,\r
+              (int)TstSize);\r
   if (TstInfo == NULL) {\r
     goto _Exit;\r
   }\r