From: Pekka Riikonen Date: Tue, 3 Dec 2002 17:53:08 +0000 (+0000) Subject: Fixed buffer overflow. X-Git-Tag: silc.client.0.9.10~22 X-Git-Url: http://git.silcnet.org/gitweb/?a=commitdiff_plain;h=5aa9c27fb899e19b32b7053c205d90edf2c1c04a;p=silc.git Fixed buffer overflow. --- diff --git a/lib/silccore/silcmessage.c b/lib/silccore/silcmessage.c index 555e0cae..66bd1b98 100644 --- a/lib/silccore/silcmessage.c +++ b/lib/silccore/silcmessage.c @@ -114,20 +114,20 @@ bool silc_message_payload_decrypt(unsigned char *data, SILC_GET16_MSB(len, dec + totlen); totlen += 2 + len; if (totlen + iv_len + mac_len + 2 > data_len) { - memset(dec, 0, data_len); + memset(dec, 0, data_len - iv_len - mac_len); silc_free(dec); return FALSE; } SILC_GET16_MSB(len, dec + totlen); totlen += 2 + len; if (totlen + iv_len + mac_len > data_len) { - memset(dec, 0, data_len); + memset(dec, 0, data_len - iv_len - mac_len); silc_free(dec); return FALSE; } memcpy(data, dec, totlen); - memset(dec, 0, data_len); + memset(dec, 0, data_len - iv_len - mac_len); silc_free(dec); return TRUE;