hrev48283 adds 1 changeset to branch 'master' old head: 7b4084f717395bd88d3f7e21760619570252117e new head: 735ca4068d0912990c5f900dc021733d4842599c overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=735ca40+%5E7b4084f ---------------------------------------------------------------------------- 735ca40: cdda: CID 610847: possibly uninitialized fields In two cases: * Out of memory and strdup on fName failed. Nothing would be initialized (mostly harmless: InitCheck would detect this) * There are no frames in the track: the wav header would be left uninitialized, and this would be readable from userland (bad thing, but needs a specifically crafted malicious CD to happen). [ Adrien Destugues <pulkomandy@xxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev48283 Commit: 735ca4068d0912990c5f900dc021733d4842599c URL: http://cgit.haiku-os.org/haiku/commit/?id=735ca40 Author: Adrien Destugues <pulkomandy@xxxxxxxxx> Date: Wed Nov 12 08:15:48 2014 UTC ---------------------------------------------------------------------------- 1 file changed, 5 insertions(+), 3 deletions(-) src/add-ons/kernel/file_systems/cdda/kernel_interface.cpp | 8 +++++--- ---------------------------------------------------------------------------- diff --git a/src/add-ons/kernel/file_systems/cdda/kernel_interface.cpp b/src/add-ons/kernel/file_systems/cdda/kernel_interface.cpp index 7d748ae..9d825b7 100644 --- a/src/add-ons/kernel/file_systems/cdda/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/cdda/kernel_interface.cpp @@ -1165,9 +1165,7 @@ Inode::Inode(Volume* volume, Inode* parent, const char* name, uint64 start, : fNext(NULL) { - fName = strdup(name); - if (fName == NULL) - return; + memset(&fWAVHeader, 0, sizeof(wav_header)); fID = volume->GetNextNodeID(); fType = type; @@ -1179,6 +1177,10 @@ Inode::Inode(Volume* volume, Inode* parent, const char* name, uint64 start, fCreationTime = fModificationTime = time(NULL); + fName = strdup(name); + if (fName == NULL) + return; + if (frames) { // initialize WAV header