crypto/idea/i_skey.c:95: error: BUFFER_OVERRUN_L1
  Offset: [7, +oo] (⇐ [0, +oo] + 7) Size: 6.
Showing all 5 steps of the trace


crypto/idea/i_skey.c:64:1: <Length trace>
62.   
63.   static IDEA_INT inverse(unsigned int xin);
64. > void idea_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks)
65.   #ifdef OPENSSL_FIPS
66.   	{

crypto/idea/i_skey.c:64:1: Parameter `ks->data[*][*]`
62.   
63.   static IDEA_INT inverse(unsigned int xin);
64. > void idea_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks)
65.   #ifdef OPENSSL_FIPS
66.   	{

crypto/idea/i_skey.c:76:2: Assignment
74.   	register IDEA_INT *kt,*kf,r0,r1,r2;
75.   
76.   	kt= &(ks->data[0][0]);
       ^
77.   	n2s(key,kt[0]); n2s(key,kt[1]); n2s(key,kt[2]); n2s(key,kt[3]);
78.   	n2s(key,kt[4]); n2s(key,kt[5]); n2s(key,kt[6]); n2s(key,kt[7]);

crypto/idea/i_skey.c:80:2: Assignment
78.   	n2s(key,kt[4]); n2s(key,kt[5]); n2s(key,kt[6]); n2s(key,kt[7]);
79.   
80.   	kf=kt;
       ^
81.   	kt+=8;
82.   	for (i=0; i<6; i++)

crypto/idea/i_skey.c:95:7: Array access: Offset: [7, +oo] (⇐ [0, +oo] + 7) Size: 6
93.   		r1= kf[6];
94.   		*(kt++)= ((r0<<9) | (r1>>7))&0xffff;
95.   		r0= kf[7];
            ^
96.   		*(kt++)= ((r1<<9) | (r0>>7))&0xffff;
97.   		r1= kf[0];

void idea_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks)
#ifdef OPENSSL_FIPS
	{
	fips_cipher_abort(IDEA);
	private_idea_set_encrypt_key(key, ks);
	}
void private_idea_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks)
#endif
	{
	int i;
	register IDEA_INT *kt,*kf,r0,r1,r2;
	kt= &(ks->data[0][0]);
	n2s(key,kt[0]); n2s(key,kt[1]); n2s(key,kt[2]); n2s(key,kt[3]);
	n2s(key,kt[4]); n2s(key,kt[5]); n2s(key,kt[6]); n2s(key,kt[7]);
	kf=kt;
	kt+=8;
	for (i=0; i<6; i++)
		{
		r2= kf[1];
		r1= kf[2];
		*(kt++)= ((r2<<9) | (r1>>7))&0xffff;
		r0= kf[3];
		*(kt++)= ((r1<<9) | (r0>>7))&0xffff;
		r1= kf[4];
		*(kt++)= ((r0<<9) | (r1>>7))&0xffff;
		r0= kf[5];
		*(kt++)= ((r1<<9) | (r0>>7))&0xffff;
		r1= kf[6];
		*(kt++)= ((r0<<9) | (r1>>7))&0xffff;
		r0= kf[7];
		*(kt++)= ((r1<<9) | (r0>>7))&0xffff;
		r1= kf[0];
		if (i >= 5) break;
		*(kt++)= ((r0<<9) | (r1>>7))&0xffff;
		*(kt++)= ((r1<<9) | (r2>>7))&0xffff;
		kf+=8;
		}
	}
['void idea_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks)\n#ifdef OPENSSL_FIPS\n\t{\n\tfips_cipher_abort(IDEA);\n\tprivate_idea_set_encrypt_key(key, ks);\n\t}\nvoid private_idea_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks)\n#endif\n\t{\n\tint i;\n\tregister IDEA_INT *kt,*kf,r0,r1,r2;\n\tkt= &(ks->data[0][0]);\n\tn2s(key,kt[0]); n2s(key,kt[1]); n2s(key,kt[2]); n2s(key,kt[3]);\n\tn2s(key,kt[4]); n2s(key,kt[5]); n2s(key,kt[6]); n2s(key,kt[7]);\n\tkf=kt;\n\tkt+=8;\n\tfor (i=0; i<6; i++)\n\t\t{\n\t\tr2= kf[1];\n\t\tr1= kf[2];\n\t\t*(kt++)= ((r2<<9) | (r1>>7))&0xffff;\n\t\tr0= kf[3];\n\t\t*(kt++)= ((r1<<9) | (r0>>7))&0xffff;\n\t\tr1= kf[4];\n\t\t*(kt++)= ((r0<<9) | (r1>>7))&0xffff;\n\t\tr0= kf[5];\n\t\t*(kt++)= ((r1<<9) | (r0>>7))&0xffff;\n\t\tr1= kf[6];\n\t\t*(kt++)= ((r0<<9) | (r1>>7))&0xffff;\n\t\tr0= kf[7];\n\t\t*(kt++)= ((r1<<9) | (r0>>7))&0xffff;\n\t\tr1= kf[0];\n\t\tif (i >= 5) break;\n\t\t*(kt++)= ((r0<<9) | (r1>>7))&0xffff;\n\t\t*(kt++)= ((r1<<9) | (r2>>7))&0xffff;\n\t\tkf+=8;\n\t\t}\n\t}']