[Groonga-commit] groonga/groonga at 54e003a [master] http: use "long long int" for content length

Back to archive index

Kouhei Sutou null+****@clear*****
Wed Mar 11 17:21:06 JST 2015


Kouhei Sutou	2015-03-11 17:21:06 +0900 (Wed, 11 Mar 2015)

  New Revision: 54e003abfa9ad7e66b6214d98d34da1dcdd5ae72
  https://github.com/groonga/groonga/commit/54e003abfa9ad7e66b6214d98d34da1dcdd5ae72

  Message:
    http: use "long long int" for content length
    
    It's for avoiding overflow.

  Modified files:
    src/groonga.c

  Modified: src/groonga.c (+3 -3)
===================================================================
--- src/groonga.c    2015-03-11 17:15:20 +0900 (5c95664)
+++ src/groonga.c    2015-03-11 17:21:06 +0900 (50c7f39)
@@ -988,7 +988,7 @@ do_htreq_get(grn_ctx *ctx, grn_msg *msg)
 typedef struct {
   const char *path_start;
   int path_length;
-  int content_length;
+  long long int content_length;
   grn_bool have_100_continue;
   const char *body_start;
 } h_post_header;
@@ -1107,7 +1107,7 @@ do_htreq_post_parse_header_values(grn_ctx *ctx,
         }
         if (STRING_EQUAL_CI(name, name_length, "Content-Length")) {
           const char *rest;
-          header->content_length = grn_atoi(value, value + value_length, &rest);
+          header->content_length = grn_atoll(value, value + value_length, &rest);
           if (rest != value + value_length) {
             /* Invalid Content-Length value. TODO: report error. */
             header->content_length = -1;
@@ -1207,7 +1207,7 @@ do_htreq_post(grn_ctx *ctx, grn_msg *msg)
 
   {
     grn_obj chunk_buffer;
-    int read_content_length = 0;
+    long long int read_content_length = 0;
 
     GRN_TEXT_INIT(&chunk_buffer, 0);
     while (read_content_length < header.content_length) {
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index