X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fautomount.c;h=cec90cbb319d7d60bc2a7940e6eff630bb1b2f36;hp=0539fbbc41c1dab4da93533589b9611acc23dfde;hb=a6dcc7e5924f9c27d3e9c6560a448b02ec28b65f;hpb=ad7bcf526d5ec54838bc9411a0e09a293845a015 diff --git a/src/core/automount.c b/src/core/automount.c index 0539fbbc4..cec90cbb3 100644 --- a/src/core/automount.c +++ b/src/core/automount.c @@ -725,7 +725,6 @@ static bool automount_check_gc(Unit *u) { static int automount_dispatch_io(sd_event_source *s, int fd, uint32_t events, void *userdata) { union autofs_v5_packet_union packet; Automount *a = AUTOMOUNT(userdata); - ssize_t l; int r; assert(a); @@ -736,12 +735,9 @@ static int automount_dispatch_io(sd_event_source *s, int fd, uint32_t events, vo goto fail; } - l = loop_read(a->pipe_fd, &packet, sizeof(packet), true); - if (l != sizeof(packet)) { - if (l < 0) - log_unit_error_errno(UNIT(a)->id, l, "Invalid read from pipe: %m"); - else - log_unit_error(UNIT(a)->id, "Invalid read from pipe: short read"); + r = loop_read_exact(a->pipe_fd, &packet, sizeof(packet), true); + if (r < 0) { + log_unit_error_errno(UNIT(a)->id, r, "Invalid read from pipe: %m"); goto fail; }