lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-users] Minor bug in sockets API


From: Curt McDowell
Subject: [lwip-users] Minor bug in sockets API
Date: Fri, 3 Feb 2006 14:37:12 -0800

err_to_errno() doesn't check array index properly.
Suggested patch:
 
RCS file: /cvsroot/lwip/lwip/src/api/sockets.c,v
retrieving revision 1.25
diff -b -u -r1.25 sockets.c
--- sockets.c   9 Nov 2004 11:44:06 -0000       1.25
+++ sockets.c   3 Feb 2006 22:34:04 -0000
@@ -87,9 +87,12 @@
     EADDRINUSE    /* ERR_USE  -10     Address in use.          */
 };
 
+#define ERR_TO_ERRNO_TABLE_SIZE \
+  (sizeof(err_to_errno_table)/sizeof(err_to_errno_table[0]))
+
 #define err_to_errno(err) \
-  ((err) < (sizeof(err_to_errno_table)/sizeof(int))) ? \
-    err_to_errno_table[-(err)] : EIO
+  (-(err) >= 0 && -(err) < ERR_TO_ERRNO_TABLE_SIZE ? \
+    err_to_errno_table[-(err)] : EIO)
 
 #ifdef ERRNO
 #define set_errno(err) errno = (err)

Regards,
Curt McDowell
Broadcom Corp.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]