diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c
index b0744cfbdabdaad2f480e0cd45082ea77b9b32c2..ac003ee31a8443920b5ee4bfece1f10805447b34 100644
--- a/src/sbbs3/websrvr.c
+++ b/src/sbbs3/websrvr.c
@@ -1133,12 +1133,12 @@ static BOOL parse_headers(http_session_t * session)
 	size_t	content_len=0;
 	char	env_name[128];
 
-	while(sockreadline(session,req_line,sizeof(req_line))>0) {
+	while(sockreadline(session,req_line,sizeof(req_line)-1)>0) {
 		/* Multi-line headers */
 		while((recvfrom(session->socket,next_char,1,MSG_PEEK,NULL,0)>0) 
 			&& (next_char[0]=='\t' || next_char[0]==' ')) {
 			i=strlen(req_line);
-			sockreadline(session,req_line+i,sizeof(req_line)-i);
+			sockreadline(session,req_line+i,sizeof(req_line)-i-1);
 		}
 		strtok(req_line,":");
 		if((value=strtok(NULL,""))!=NULL) {
@@ -1373,7 +1373,7 @@ static BOOL get_req(http_session_t * session, char *request_line)
 
 	req_line[0]=0;
 	if(request_line == NULL) {
-		if(sockreadline(session,req_line,sizeof(req_line))<0)
+		if(sockreadline(session,req_line,sizeof(req_line)-1)<0)
 			req_line[0]=0;
 	}
 	else {