Id htype = 0;
#endif
// printf("V3 signature packet\n");
+ if (l < 17)
+ continue;
if (p[2] != 0x10 && p[2] != 0x11 && p[2] != 0x12 && p[2] != 0x13 && p[2] != 0x1f)
continue;
if (!memcmp(keyid, p + 6, 8))
unsigned char issuer[8];
// printf("V4 signature packet\n");
+ if (l < 6)
+ continue;
if (p[1] != 0x10 && p[1] != 0x11 && p[1] != 0x12 && p[1] != 0x13 && p[1] != 0x1f)
continue;
haveissuer = 0;
q = p + 4;
for (j = 0; q && j < 2; j++)
{
+ if (q + 2 > p + l)
+ {
+ q = 0;
+ break;
+ }
ql = q[0] << 8 | q[1];
q += 2;
+ if (q + ql > p + l)
+ {
+ q = 0;
+ break;
+ }
while (ql)
{
int sl;