sd-resolve: do not assert on packet size received over a socket
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 14 May 2018 09:08:59 +0000 (11:08 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 15 May 2018 10:25:44 +0000 (12:25 +0200)
commitf6ddae40ab7790910b1f454c4a838ba624898900
treee21f1ff4b768f37c6234069a9da369a5f9887357
parent0b45ff5278f0aa5770f661969fcb850e12f9ecf9
sd-resolve: do not assert on packet size received over a socket

This is external data, even if trusted. We should not assert on it, but verify
and return proper error instead, which assert_return does. In particular,
write(2) says that a partial write could occur when interupted by a signal.
When compiled with asserts disabled, we could access memory outside of the
allocated buffer.

CID #1237671.
Follow-up for 1a96c8e1ccb06f87b6bfaff4639390ecd00af588.
src/libsystemd/sd-resolve/sd-resolve.c