mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-03 17:35:06 -05:00
Don't read uninitialized memory in client packet length check
Before calling PKL_ReplyLength() check that the packet has full header. This didn't change the outcome of the test if the packet was shorter as the invalid result from PKL_ReplyLength() was either larger than length of the packet or smaller than header length, failing the length check in both cases.
This commit is contained in:
6
client.c
6
client.c
@@ -1366,7 +1366,11 @@ submit_request(CMD_Request *request, CMD_Reply *reply, int *reply_auth_ok)
|
||||
} else {
|
||||
|
||||
read_length = recvfrom_status;
|
||||
expected_length = PKL_ReplyLength(reply);
|
||||
if (read_length >= offsetof(CMD_Reply, data)) {
|
||||
expected_length = PKL_ReplyLength(reply);
|
||||
} else {
|
||||
expected_length = 0;
|
||||
}
|
||||
|
||||
bad_length = (read_length < expected_length ||
|
||||
expected_length < offsetof(CMD_Reply, data));
|
||||
|
||||
Reference in New Issue
Block a user