libftdi Archives

Subject: [PATCH] fixed NULL-pointer dereference in the ftdi_error_return(code, str) macro that occures when it is called because of a ftdi == NULL check

From: Peter Schneider <pitpompej@xxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Wed, 25 Jul 2012 15:26:23 +0200 (CEST)
Hi,

as we just performed a Cppcheck run upon our project including the libftdi 
sources it found a possible null-pointer dereference when calling the 
ftdi_error_return(code, str) macro after the ftdi==NULL check.

Fix for this bug:

---
 src/ftdi.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/ftdi.c b/src/ftdi.c
index 07687e8..5a3d44e 100644
--- a/src/ftdi.c
+++ b/src/ftdi.c
@@ -39,7 +39,10 @@
 #include "ftdi_version_i.h"
 
 #define ftdi_error_return(code, str) do {  \
-        ftdi->error_str = str;             \
+        if ( ftdi )                        \
+            ftdi->error_str = str;         \
+        else                               \
+            fprintf(stderr, str);          \
         return code;                       \
    } while(0);
 
-- 
1.7.9.5

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread