- fix endless loop with bad input
[m6w6/ext-http] / http_send_api.c
index e5a66ced540e669c4721df541e0c631ad56e13c0..dfd0643eb13acc9ab303329ef56a4ed52fd643cc 100644 (file)
@@ -338,7 +338,7 @@ PHP_HTTP_API STATUS _http_send_ex(const void *data_ptr, size_t data_size, http_s
                                                char range_header_str[256];
                                                size_t range_header_len;
                                                
-                                               range_header_len = snprintf(range_header_str, lenof(range_header_str), "Content-Range: bytes %ld-%ld/%lu", Z_LVAL_PP(begin), Z_LVAL_PP(end), (ulong) data_size);
+                                               range_header_len = snprintf(range_header_str, lenof(range_header_str), "Content-Range: bytes %ld-%ld/%zu", Z_LVAL_PP(begin), Z_LVAL_PP(end), data_size);
                                                http_send_status_header_ex(206, range_header_str, range_header_len, 1);
                                                http_send_response_start(&s, Z_LVAL_PP(end)-Z_LVAL_PP(begin)+1);
                                                http_send_response_data_fetch(&s, data_ptr, data_size, data_mode, Z_LVAL_PP(begin), Z_LVAL_PP(end) + 1);
@@ -373,7 +373,7 @@ PHP_HTTP_API STATUS _http_send_ex(const void *data_ptr, size_t data_size, http_s
 #define HTTP_RANGE_PREFACE \
        HTTP_CRLF "--%s" \
        HTTP_CRLF "Content-Type: %s" \
-       HTTP_CRLF "Content-Range: bytes %ld-%ld/%lu" \
+       HTTP_CRLF "Content-Range: bytes %ld-%ld/%zu" \
        HTTP_CRLF HTTP_CRLF
                                                        
                                                        preface_len = snprintf(preface_str, lenof(preface_str), HTTP_RANGE_PREFACE, boundary_str, content_type, Z_LVAL_PP(begin), Z_LVAL_PP(end), data_size);