Changeset 287

Show
Ignore:
Timestamp:
06/03/10 10:07:24 (20 months ago)
Author:
ol
Message:

Add ferror check on stdin. Fix max size check

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/struct/cgi_request.c

    r281 r287  
    8383        query_size = atoi(getenv("CONTENT_LENGTH")); 
    8484 
    85         if (query_size > CGI_QUERY_MAX) { 
     85        if (query_size >= CGI_QUERY_MAX) { 
    8686            ows_error(o, OWS_ERROR_REQUEST_HTTP, "QUERY_STRING too long", 
    8787                      "request"); 
     
    9292        assert(query != NULL); 
    9393        result = fread(query, query_size, 1, stdin); 
     94        if (ferror(stdin)) { 
     95            ows_error(o, OWS_ERROR_REQUEST_HTTP, "Error on QUERY input", 
     96                      "request"); 
     97            return NULL; 
     98        } 
    9499        query[query_size] = '\0'; 
    95100    }