From d02cde3053be75589a08149100011a9f73e6e966 Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Sat, 13 Sep 2008 00:06:59 +0000 Subject: [PATCH] CID 877: Fix memory leak in error case. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27467 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp b/src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp index b1af9d4cf7..23c4868914 100644 --- a/src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp @@ -328,8 +328,10 @@ fs_read_vnode(fs_volume *_vol, ino_t vnodeID, fs_vnode *_node, TRACE(("fs_read_vnode - block = %ld, pos = %ld, raw = %Lu node 0x%x\n", block, pos, vnodeID, newNode)); - if (pos > ns->logicalBlkSize[FS_DATA_FORMAT]) + if (pos > ns->logicalBlkSize[FS_DATA_FORMAT]) { + free(newNode); return B_BAD_VALUE; + } char *data = (char *)block_cache_get_etc(ns->fBlockCache, block, 0, ns->logicalBlkSize[FS_DATA_FORMAT]);