client: check expired after client_process_line()
The assertion on "!client_is_expired(client)" was wrong, because writing the command response may cause the client to become expired. Replace that assertion with a check.
This commit is contained in:
		| @@ -417,7 +417,9 @@ static int client_input_received(struct client *client, int bytesRead) | ||||
| 			if (ret == COMMAND_RETURN_KILL || | ||||
| 			    ret == COMMAND_RETURN_CLOSE) | ||||
| 				return ret; | ||||
| 			assert(!client_is_expired(client)); | ||||
| 			if (client_is_expired(client)) | ||||
| 				return COMMAND_RETURN_CLOSE; | ||||
|  | ||||
| 			client->bufferPos = client->bufferLength; | ||||
| 		} | ||||
| 		if (client->bufferLength == CLIENT_MAX_BUFFER_LENGTH) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Max Kellermann
					Max Kellermann