]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: don't let logging clobber errno before use
authordjm@openbsd.org <djm@openbsd.org>
Tue, 16 Mar 2021 06:15:43 +0000 (06:15 +0000)
committerDamien Miller <djm@mindrot.org>
Fri, 19 Mar 2021 02:20:32 +0000 (13:20 +1100)
OpenBSD-Commit-ID: ce6cca370005c270c277c51c111bb6911e1680ec

sftp-server.c

index 7300900ace628bf6a93cfb69157df2f97228f607..752820f5cec4c12ad5f7018e13438cbcf7fd048c 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: sftp-server.c,v 1.122 2021/02/18 00:30:17 djm Exp $ */
+/* $OpenBSD: sftp-server.c,v 1.123 2021/03/16 06:15:43 djm Exp $ */
 /*
  * Copyright (c) 2000-2004 Markus Friedl.  All rights reserved.
  *
@@ -807,15 +807,17 @@ process_write(u_int32_t id)
                status = SSH2_FX_FAILURE;
        else {
                if (!(handle_to_flags(handle) & O_APPEND) &&
-                               lseek(fd, off, SEEK_SET) == -1) {
+                   lseek(fd, off, SEEK_SET) == -1) {
                        status = errno_to_portable(errno);
-                       error_f("seek failed");
+                       error_f("seek \"%.100s\": %s", handle_to_name(handle),
+                           strerror(errno));
                } else {
 /* XXX ATOMICIO ? */
                        ret = write(fd, data, len);
                        if (ret == -1) {
-                               error_f("write: %s", strerror(errno));
                                status = errno_to_portable(errno);
+                               error_f("write \"%.100s\": %s",
+                                   handle_to_name(handle), strerror(errno));
                        } else if ((size_t)ret == len) {
                                status = SSH2_FX_OK;
                                handle_update_write(handle, ret);