if (ret < 0 || id != 2 ||
key->keyblob+key->keyblob_len-p < len) {
errmsg = "ASN.1 decoding failure";
+ retval = SSH2_WRONG_PASSPHRASE;
goto error;
}
* Strip away the containing string to get to the real meat.
*/
len = GET_32BIT(ciphertext);
- if (len > cipherlen-4) {
+ if (len < 0 || len > cipherlen-4) {
errmsg = "containing string was ill-formed";
goto error;
}