From 30b08fcbdbb766e75335199b7df124709ecaec30 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 22 Jul 2019 18:36:38 +0200 Subject: [PATCH] Cygwin: fix /proc/PID/fd return value in error case commit 2607639992f6 "Improve error handling in /proc/[pid]/ virtual files." changed the return value of the /proc/PID formatting functions to return -1 instead of 0 in the error case to allow a filesize of 0. The patch neglected to change this behaviour for /proc/PID/fd content. This patch fixes that. Signed-off-by: Corinna Vinschen --- winsup/cygwin/fhandler_process.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/fhandler_process.cc b/winsup/cygwin/fhandler_process.cc index 5ee129317..15c0a41e2 100644 --- a/winsup/cygwin/fhandler_process.cc +++ b/winsup/cygwin/fhandler_process.cc @@ -389,13 +389,13 @@ format_process_fd (void *data, char *&destbuf) if (fd < 0 || e == fdp || (*e != '/' && *e != '\0')) { set_errno (ENOENT); - return 0; + return -1; } destbuf = p ? p->fd (fd, fs) : NULL; if (!destbuf || !*destbuf) { set_errno (ENOENT); - return 0; + return -1; } if (*e == '\0') *((process_fd_t *) data)->fd_type = virt_fdsymlink;