diff --git a/signkey.c b/signkey.c index 3d78e350bca1722b5c9184f9366d026f74350d12..19a2c08205ef3ce2788404cf4839eccbc3c0adc3 100644 --- a/signkey.c +++ b/signkey.c @@ -577,6 +577,10 @@ int cmp_base64_key(const unsigned char* keyblob, unsigned int keybloblen, /* now we have the actual data */ len = line->len - line->pos; + if (len == 0) { + /* base64_decode doesn't like NULL argument */ + return DROPBEAR_FAILURE; + } decodekeylen = len * 2; /* big to be safe */ decodekey = buf_new(decodekeylen);