Package not found: openSUSE:Factory/gnu-compilers-hpc

File eID-belgium-2.5.9-64bit-newpkcs11-src-libopensc-asn1.patch of Package eID-belgium

--- src/newpkcs11/src/libopensc/asn1.c	2006-01-05 21:28:53.000000000 +0100
+++ ../asn1.c	2007-06-13 16:50:02.000000000 +0200
@@ -468,11 +468,11 @@
  */
 static int decode_bit_field(const u8 * inbuf, size_t inlen, void *outbuf, size_t outlen)
 {
-	u8		data[sizeof(unsigned int)];
+	u8		data[2*sizeof(unsigned int)];
 	unsigned int	field = 0;
 	int		i, n;
 
-	if (outlen != sizeof(data))
+	if (outlen > sizeof(data))
 		return SC_ERROR_BUFFER_TOO_SMALL;
 
 	n = decode_bit_string(inbuf, inlen, data, sizeof(data), 1);
@@ -489,11 +489,11 @@
 static int encode_bit_field(const u8 *inbuf, size_t inlen,
 			    u8 **outbuf, size_t *outlen)
 {
-	u8		data[sizeof(unsigned int)];
+	u8		data[2*sizeof(unsigned int)];
 	unsigned int	field = 0;
 	size_t		i, bits;
 
-	if (inlen != sizeof(data))
+	if (inlen > sizeof(data))
 		return SC_ERROR_BUFFER_TOO_SMALL;
 
 	/* count the bits */
openSUSE Build Service is sponsored by