mirror of
https://github.com/systemd/systemd.git
synced 2024-12-23 21:35:11 +03:00
sd-rtnl: socet_read_message - make sure we only shrink the partial rqueue when processing multi-part message
This commit is contained in:
parent
6916ec29af
commit
d4ef4f46cf
@ -1226,16 +1226,16 @@ int socket_read_message(sd_rtnl *rtnl) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (i < rtnl->rqueue_partial_size) {
|
||||
rtnl->rqueue[rtnl->rqueue_size ++] = first;
|
||||
first = NULL;
|
||||
|
||||
if (multi_part && (i < rtnl->rqueue_partial_size)) {
|
||||
/* remove the message form the partial read queue */
|
||||
memmove(rtnl->rqueue_partial + i,rtnl->rqueue_partial + i + 1,
|
||||
sizeof(sd_rtnl_message*) * (rtnl->rqueue_partial_size - i - 1));
|
||||
rtnl->rqueue_partial_size --;
|
||||
}
|
||||
|
||||
rtnl->rqueue[rtnl->rqueue_size ++] = first;
|
||||
first = NULL;
|
||||
|
||||
return 1;
|
||||
} else {
|
||||
/* we only got a partial multi-part message, push it on the
|
||||
|
Loading…
Reference in New Issue
Block a user