History

Memory leak in tpm_ascii_bios_measurements_open()

Coverity found a memory leak in tpm_ascii_bios_measurements_open(). If "read_log(log)" fails, then we may leak 'log' and 'log->bios_event_log'.

Jesper Juhl committed 19 years ago

Commit 178554a1 parent 22982a51 file · +8 −3Browse files

Unified · Split

drivers/char/tpm/tpm_bios.c+8−3
@@ -427,7 +427,7 @@ static int tpm_ascii_bios_measurements_open(struct inode *inode, · 426 unmodified lines
427427 return -ENOMEM;
428428
429429 if ((err = read_log(log)))
430− return err;
430+ goto out_free;
431431
432432 /* now register seq file */
433433 err = seq_open(file, &tpm_ascii_b_measurments_seqops);
@@ -435,10 +435,15 @@ static int tpm_ascii_bios_measurements_open(struct inode *inode, · 1 unmodified line
435435 seq = file->private_data;
436436 seq->private = log;
437437 } else {
438− kfree(log->bios_event_log);
439− kfree(log);
438+ goto out_free;
440439 }
440+
441+out:
441442 return err;
443+out_free:
444+ kfree(log->bios_event_log);
445+ kfree(log);
446+ goto out;
442447 }
443448
444449 const struct file_operations tpm_ascii_bios_measurements_ops = {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t