From f6a59a22b0c157c4c4e5fd7232f868138223be64 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Fri, 25 May 2018 04:25:46 +0000 Subject: upstream: Fix return value confusion in several functions (readdir, download and fsync). These should return -1 on error, not a sftp status code. patch from Petr Cerny in bz#2871 OpenBSD-Commit-ID: 651aa0220ad23c9167d9297a436162d741f97a09 --- sftp-client.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sftp-client.c b/sftp-client.c index 0b53a2e68..dc4d8c4e0 100644 --- a/sftp-client.c +++ b/sftp-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-client.c,v 1.128 2017/11/28 21:10:22 dtucker Exp $ */ +/* $OpenBSD: sftp-client.c,v 1.129 2018/05/25 04:25:46 djm Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -669,7 +669,7 @@ do_lsreaddir(struct sftp_conn *conn, const char *path, int print_flag, **dir = NULL; } - return status; + return status == SSH2_FX_OK ? 0 : -1; } int @@ -1019,7 +1019,7 @@ do_fsync(struct sftp_conn *conn, u_char *handle, u_int handle_len) if (status != SSH2_FX_OK) error("Couldn't sync file: %s", fx2txt(status)); - return status; + return status == SSH2_FX_OK ? 0 : -1; } #ifdef notyet @@ -1451,7 +1451,7 @@ do_download(struct sftp_conn *conn, const char *remote_path, sshbuf_free(msg); free(handle); - return(status); + return status == SSH2_FX_OK ? 0 : -1; } static int -- cgit v1.2.3