From a42c52c07edccdba81f159c17b17775010bdba6e Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Fri, 30 Dec 2011 20:50:48 -0500 Subject: [PATCH] devfs: Fix memory leak Following r25662 (where devfs was migrated to the new driver architecture), the issue noted in CID 872 and already fixed in r25643 was reintroduced. --- src/system/kernel/device_manager/devfs.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/system/kernel/device_manager/devfs.cpp b/src/system/kernel/device_manager/devfs.cpp index 67b76ed6e0..a1e0411138 100644 --- a/src/system/kernel/device_manager/devfs.cpp +++ b/src/system/kernel/device_manager/devfs.cpp @@ -1164,8 +1164,10 @@ devfs_open(fs_volume* _volume, fs_vnode* _vnode, int openMode, if (S_ISCHR(vnode->stream.type)) { BaseDevice* device = vnode->stream.u.dev.device; status = device->InitDevice(); - if (status != B_OK) + if (status != B_OK) { + free(cookie); return status; + } char path[B_FILE_NAME_LENGTH]; get_device_name(vnode, path, sizeof(path));