From a572fad6647bd8ee47bc5ee86bc61b8f60d72688 Mon Sep 17 00:00:00 2001 From: chrfranke <chrfranke@4ea69e1a-61f1-4043-bf83-b5c94c648137> Date: Wed, 18 Nov 2009 19:42:10 +0000 Subject: [PATCH] Linux: Fix segfault in 3ware interface (ticket #22). git-svn-id: https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk@2987 4ea69e1a-61f1-4043-bf83-b5c94c648137 --- smartmontools/CHANGELOG | 2 ++ smartmontools/os_linux.cpp | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/smartmontools/CHANGELOG b/smartmontools/CHANGELOG index eb034b31c..c731102b1 100644 --- a/smartmontools/CHANGELOG +++ b/smartmontools/CHANGELOG @@ -43,6 +43,8 @@ NOTES FOR FUTURE RELEASES: see TODO file. <DEVELOPERS: ADDITIONS TO THE CHANGE LOG GO JUST BELOW HERE, PLEASE> + [CF] Linux: Fix segfault in 3ware interface (ticket #22). + [MS] knowndrives.cpp updates: - Hitachi Deskstar 7K2000 - Seagate Momentus 7200 FDE.2 series diff --git a/smartmontools/os_linux.cpp b/smartmontools/os_linux.cpp index 7c485ffca..5993f113d 100644 --- a/smartmontools/os_linux.cpp +++ b/smartmontools/os_linux.cpp @@ -1541,7 +1541,7 @@ bool linux_escalade_device::ata_pass_through(const ata_cmd_in & in, ata_cmd_out passthru->size++; } else - set_err(EINVAL); + return set_err(EINVAL); // Now send the command down through an ioctl() int ioctlreturn; @@ -1605,7 +1605,7 @@ bool linux_escalade_device::ata_pass_through(const ata_cmd_in & in, ata_cmd_out } // Return register values - { + if (passthru) { ata_out_regs_48bit & r = out.out_regs; r.error = passthru->features; r.sector_count_16 = passthru->sector_count; -- GitLab