diff options
| author | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-09-18 22:30:20 +0000 | 
|---|---|---|
| committer | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-09-18 22:30:20 +0000 | 
| commit | d79be8900405f427194abb7b9d4c8b8f8c135ad1 (patch) | |
| tree | 5b80fc776abd11f37813ef9ce3a3ae95839d45a4 /package/uhttpd/src | |
| parent | fe5a932a01c475afa718c83a17187a7e420f4057 (diff) | |
[package] uhttpd: fix possible CGI header line parsing beyound the empty line, thanks Linus Luessing for spotting it
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28254 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/uhttpd/src')
| -rw-r--r-- | package/uhttpd/src/uhttpd-cgi.c | 8 | 
1 files changed, 4 insertions, 4 deletions
| diff --git a/package/uhttpd/src/uhttpd-cgi.c b/package/uhttpd/src/uhttpd-cgi.c index ed688514c..2f94fe26f 100644 --- a/package/uhttpd/src/uhttpd-cgi.c +++ b/package/uhttpd/src/uhttpd-cgi.c @@ -1,7 +1,7 @@  /*   * uhttpd - Tiny single-threaded httpd - CGI handler   * - *   Copyright (C) 2010 Jo-Philipp Wich <xm@subsignal.org> + *   Copyright (C) 2010-2011 Jo-Philipp Wich <xm@subsignal.org>   *   *  Licensed under the Apache License, Version 2.0 (the "License");   *  you may not use this file except in compliance with the License. @@ -42,7 +42,7 @@ static struct http_response * uh_cgi_header_parse(char *buf, int len, int *off)  		bufptr = &buf[0]; -		for( pos = 0; pos < len; pos++ ) +		for( pos = 0; pos < off; pos++ )  		{  			if( !hdrname && (buf[pos] == ':') )  			{ @@ -60,11 +60,11 @@ static struct http_response * uh_cgi_header_parse(char *buf, int len, int *off)  			else if( (buf[pos] == '\r') || (buf[pos] == '\n') )  			{ -				buf[pos++] = 0; -  				if( ! hdrname )  					break; +				buf[pos++] = 0; +  				if( (pos < len) && (buf[pos] == '\n') )  					pos++; | 
