diff options
| -rw-r--r-- | libwaitress/src/main.c | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/libwaitress/src/main.c b/libwaitress/src/main.c index ab326cd..a54c864 100644 --- a/libwaitress/src/main.c +++ b/libwaitress/src/main.c @@ -122,7 +122,8 @@ char WaitressSplitUrl (const char *url, char *retHost, size_t retHostSize,  		lastPos = urlPos;  		/* find host */ -		while (*urlPos != ':' && *urlPos != '/' && urlPos - lastPos < retHostSize-1) { +		while (*urlPos != '\0' && *urlPos != ':' && *urlPos != '/' && +				urlPos - lastPos < retHostSize-1) {  			*retHost++ = *urlPos++;  		}  		lastPos = urlPos; @@ -132,14 +133,16 @@ char WaitressSplitUrl (const char *url, char *retHost, size_t retHostSize,  			/* skip : */  			++urlPos;  			++lastPos; -			while (*urlPos != '/' && urlPos - lastPos < retPortSize-1) { +			while (*urlPos != '\0' && *urlPos != '/' && +					urlPos - lastPos < retPortSize-1) {  				*retPort++ = *urlPos++;  			}  		}  		lastPos = urlPos;  		/* path */ -		while (*urlPos != '\0' && *urlPos != '#' && urlPos - lastPos < retPathSize-1) { +		while (*urlPos != '\0' && *urlPos != '#' && +				urlPos - lastPos < retPathSize-1) {  			*retPath++ = *urlPos++;  		}  	} else { | 
