Подробности

[В начало]

Проблема в реализации № L0002

Краткое описание

fs/cifs/cifsencrypt.c: Утечка памяти

Подробное описание

В функции calc_ntlmv2_hash не освобождается память на пути:

  1. Строка 333 - успешно выделяем память и присвиваем указатель на нее переменной pctxt: pctxt = kmalloc(sizeof(struct HMACMD5Context), GFP_KERNEL);
  2. Идем до строчки 376 и выходим из функции без освобождения памяти pctxt.

Способы устранения

---
diff --git a/a/fs/cifs/cifsencrypt.c b/b/fs/cifs/cifsencrypt.c
index 7c98095..7efe174 100644
--- a/a/fs/cifs/cifsencrypt.c
+++ b/b/fs/cifs/cifsencrypt.c
@@ -373,6 +373,7 @@ calc_exit_2:
           compare with the NTLM example */
        hmac_md5_final(ses->server->ntlmv2_hash, pctxt);

+       kfree(pctxt);
        return rc;
 }

Компонент

linux-kernel 2.6.30.4

Принято

http://lkml.org/lkml/2009/8/11/210
commit

Статус

Исправлено в ядре 2.6.32

[В начало]