[smartmontools-support] [PATCH] Do not crash on HP machines

Ashley Reese ashley.reese at firma.seznam.cz
Fri Feb 1 15:33:33 CET 2019


Some machines contain more than 512B message, we should allocate based
on that size rather than 512B since we later memcpy it.
---
  cciss.cpp | 6 +++++-
  1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/cciss.cpp b/cciss.cpp
index d6d8c82..8de1efd 100644
--- a/cciss.cpp
+++ b/cciss.cpp
@@ -71,7 +71,11 @@ static int cciss_sendpassthru(unsigned int cmdtype,
unsigned char *CDB,
  */
  int cciss_io_interface(int device, int target, struct scsi_cmnd_io *
iop, int report)
  {
-     unsigned char pBuf[512] = {0};
+     size_t pBuf_size = iop->dxfer_len;
+     if (pBuf_size < 512) {
+         pBuf_size = 512;
+     }
+     unsigned char *pBuf = (unsigned char*)alloca(pBuf_size);
       unsigned char phylun[8] = {0};
       int iBufLen = 512;
       int len = 0; // used later in the code.
--
1.9.1



Je dobré vědět, že tento e-mail a přílohy jsou důvěrné. Pokud spolu jednáme o uzavření obchodu, vyhrazujeme si právo naše jednání kdykoli ukončit. Pro fanoušky právní mluvy - vylučujeme tím ustanovení občanského zákoníku o předsmluvní odpovědnosti. Pravidla o tom, kdo u nás a jak vystupuje za společnost a kdo může co a jak podepsat naleznete zde<https://onas.seznam.cz/cz/podpisovy-rad-cz.html>

You should know that this e-mail and its attachments are confidential. If we are negotiating on the conclusion of a transaction, we reserve the right to terminate the negotiations at any time. For fans of legalese—we hereby exclude the provisions of the Civil Code on pre-contractual liability. The rules about who and how may act for the company and what are the signing procedures can be found here<https://onas.seznam.cz/cz/podpisovy-rad-cz.html>.



More information about the Smartmontools-support mailing list