[Spread-cvs] commit: r441 - in trunk: daemon include
jonathan at spread.org
jonathan at spread.org
Fri Jan 6 19:43:25 EST 2012
Author: jonathan
Date: 2012-01-06 19:43:24 -0500 (Fri, 06 Jan 2012)
New Revision: 441
Modified:
trunk/daemon/Changelog
trunk/daemon/scatter.h
trunk/include/sp.h
Log:
Fix for crash/corruption bug on 64 bit platforms because of incorrect size of scatter/iovec structures. Affects public API as it updates sp.h scatter as well.
Modified: trunk/daemon/Changelog
===================================================================
--- trunk/daemon/Changelog 2012-01-06 05:36:08 UTC (rev 440)
+++ trunk/daemon/Changelog 2012-01-07 00:43:24 UTC (rev 441)
@@ -1,3 +1,13 @@
+Fri Jan 6 01:01:01 2012 Jonathan Stanton <jonathan at spreadconcepts.com>
+
+ * include/sp.h, scatter.h (dummy_scat_element): Fix scatter type
+ definition by replacing int with size_t. This fixes crash bug
+ when compiling on 64 bit platforms.
+
+ The public sp.h include header pulls in size_t by including
+ <stddef.h> which is part of standard c headers and thus should
+ work on unix systems and windows.
+
Fri Jan 6 00:35:00 2012 Jonathan Stanton <jonathan at spreadconcepts.com>
* configure.in: Fix reported compile problem with Solaris
Modified: trunk/daemon/scatter.h
===================================================================
--- trunk/daemon/scatter.h 2012-01-06 05:36:08 UTC (rev 440)
+++ trunk/daemon/scatter.h 2012-01-07 00:43:24 UTC (rev 441)
@@ -43,16 +43,16 @@
typedef struct dummy_scat_element{
char *buf;
- int len;
+ size_t len;
} scat_element;
typedef struct dummy_scatter {
- int num_elements;
+ size_t num_elements;
scat_element elements[ARCH_SCATTER_SIZE];
} sys_scatter;
typedef struct dummy_big_scatter {
- int num_elements;
+ size_t num_elements;
scat_element elements[MAX_SCATTER_ELEMENTS];
} scatter;
Modified: trunk/include/sp.h
===================================================================
--- trunk/include/sp.h 2012-01-06 05:36:08 UTC (rev 440)
+++ trunk/include/sp.h 2012-01-07 00:43:24 UTC (rev 441)
@@ -37,6 +37,9 @@
#ifndef INC_SP
#define INC_SP
+/* for size_t */
+#include <stddef.h>
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -136,11 +139,11 @@
typedef struct dummy_scat_element{
char *buf;
- int len;
+ size_t len;
} scat_element;
typedef struct dummy_scatter{
- int num_elements;
+ size_t num_elements;
scat_element elements[MAX_CLIENT_SCATTER_ELEMENTS];
} scatter;
More information about the Spread-cvs
mailing list