From f6bd30f2af5b97b4e133173150ab6e25d6f01bd1 Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Sun, 27 Nov 2011 23:35:36 -0500 Subject: [PATCH] Partitioning system: avoid leakage of resource The storage returned from GetSession() was leaked CID 10827 --- src/add-ons/kernel/partitioning_systems/session/session.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/partitioning_systems/session/session.cpp b/src/add-ons/kernel/partitioning_systems/session/session.cpp index 89489a8303..a8a1637d20 100644 --- a/src/add-ons/kernel/partitioning_systems/session/session.cpp +++ b/src/add-ons/kernel/partitioning_systems/session/session.cpp @@ -54,10 +54,14 @@ identify_partition(int fd, partition_data *partition, void **cookie) if (disc != NULL && disc->InitCheck() == B_OK) { // If we have only a single session then we can let the file system // drivers play directly with the device. - if (disc->GetSession(1) != NULL) + Session *session = disc->GetSession(1); + if (session != NULL) { result = 0.9f; + delete session; + } else result = 0.1f; + *cookie = static_cast(disc); } else delete disc;