From fda389c8f0311dd5786be91a7b54b9f935fcafa1 Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Tue, 14 Oct 2014 21:05:33 +0530 Subject: Fix infinite loop in check_pf (BZ #12926) The recvmsg could return 0 under some conditions and cause the make_request function to be stuck in an infinite loop. Thank you Jim King for posting Paul's patch on the list. --- sysdeps/unix/sysv/linux/check_pf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sysdeps/unix') diff --git a/sysdeps/unix/sysv/linux/check_pf.c b/sysdeps/unix/sysv/linux/check_pf.c index c7fd9b0376..976f249e20 100644 --- a/sysdeps/unix/sysv/linux/check_pf.c +++ b/sysdeps/unix/sysv/linux/check_pf.c @@ -180,7 +180,7 @@ make_request (int fd, pid_t pid) }; ssize_t read_len = TEMP_FAILURE_RETRY (__recvmsg (fd, &msg, 0)); - if (read_len < 0) + if (read_len <= 0) goto out_fail2; if (msg.msg_flags & MSG_TRUNC) -- cgit v1.2.3