- i += makeprivate(buf+i, key);
- if (len-i < 0) goto end;
- i += ssh1_read_bignum(buf+i, &key->iqmp);
- if (len-i < 0) goto end;
- i += ssh1_read_bignum(buf+i, &key->q);
- if (len-i < 0) goto end;
- i += ssh1_read_bignum(buf+i, &key->p);
- if (len-i < 0) goto end;
-
- ret = 1;
- end:
+ i += makeprivate(buf + i, key);
+ if (len - i < 0)
+ goto end;
+ i += ssh1_read_bignum(buf + i, &key->iqmp);
+ if (len - i < 0)
+ goto end;
+ i += ssh1_read_bignum(buf + i, &key->q);
+ if (len - i < 0)
+ goto end;
+ i += ssh1_read_bignum(buf + i, &key->p);
+ if (len - i < 0)
+ goto end;
+
+ if (!rsa_verify(key)) {
+ freersakey(key);
+ ret = 0;
+ } else
+ ret = 1;
+
+ end: