diff -ur globus_xio-2.7.orig/builtins/http/globus_xio_http_header_info.c globus_xio-2.7/builtins/http/globus_xio_http_header_info.c
--- globus_xio-2.7.orig/builtins/http/globus_xio_http_header_info.c 2006-01-19 06:57:40.000000000 +0100
+++ globus_xio-2.7/builtins/http/globus_xio_http_header_info.c 2009-06-03 23:40:26.000000000 +0200
@@ -164,12 +164,13 @@
globus_result_t result = GLOBUS_SUCCESS;
globus_xio_http_header_t * header;
int rc;
+ unsigned long length;
GlobusXIOName(globus_l_xio_http_header_set);
/* Special cases for entity-body handling headers */
if (strcmp(header_name, "Content-Length") == 0)
{
- rc = sscanf(header_value, "%u", &headers->content_length);
+ rc = sscanf(header_value, "%lu", &length);
if (rc < 1)
{
@@ -177,6 +178,7 @@
goto error_exit;
}
+ headers->content_length = length;
headers->flags |= GLOBUS_I_XIO_HTTP_HEADER_CONTENT_LENGTH_SET;
}
else if (strcmp(header_name, "Transfer-Encoding") == 0)