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)