]> andersk Git - openssh.git/commitdiff
- djm@cvs.openbsd.org 2002/04/06 00:30:08
authormouring <mouring>
Sat, 6 Apr 2002 04:16:45 +0000 (04:16 +0000)
committermouring <mouring>
Sat, 6 Apr 2002 04:16:45 +0000 (04:16 +0000)
     [sftp-client.c]
     Fix occasional corruption on upload due to bad reuse of request id, spotted
     by chombier@mac.com; ok markus@

ChangeLog
sftp-client.c

index 04080ac545fb6fcd2777016c69314dd1910879fe..4c337d90895d89f8b0ea5eba8ed43f50b3a20a2c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,12 @@
  - (djm) Typo in Suse SPEC file. Fix from Carsten Grohmann 
    <carsten.grohmann@dr-baldeweg.de>
  - (bal) Added MAP_FAILED to allow AIX and Trusted HP to compile.
+ - (bal) OpenBSD CVS Sync
+   - djm@cvs.openbsd.org 2002/04/06 00:30:08
+     [sftp-client.c]
+     Fix occasional corruption on upload due to bad reuse of request id, spotted
+     by chombier@mac.com; ok markus@
+
 
 20020405
  - (bal) Patch for OpenSC SmartCard library; ok markus@; patch by
index 9fa8376e6d2b437ea2d6e61745583639d955e24b..0d42696ae4459a2e6cf4586c2a035c89e1639999 100644 (file)
@@ -28,7 +28,7 @@
 /* XXX: copy between two remote sites */
 
 #include "includes.h"
-RCSID("$OpenBSD: sftp-client.c,v 1.30 2002/04/01 22:07:17 markus Exp $");
+RCSID("$OpenBSD: sftp-client.c,v 1.31 2002/04/06 00:30:08 djm Exp $");
 
 #include "openbsd-compat/fake-queue.h"
 
@@ -1061,10 +1061,12 @@ do_upload(struct sftp_conn *conn, char *local_path, char *remote_path,
 
                if (id == startid || len == 0 ||
                    id - ackid >= conn->num_requests) {
+                       u_int r_id;
+
                        buffer_clear(&msg);
                        get_msg(conn->fd_in, &msg);
                        type = buffer_get_char(&msg);
-                       id = buffer_get_int(&msg);
+                       r_id = buffer_get_int(&msg);
 
                        if (type != SSH2_FXP_STATUS)
                                fatal("Expected SSH2_FXP_STATUS(%d) packet, "
@@ -1075,11 +1077,11 @@ do_upload(struct sftp_conn *conn, char *local_path, char *remote_path,
 
                        /* Find the request in our queue */
                        for(ack = TAILQ_FIRST(&acks);
-                           ack != NULL && ack->id != id;
+                           ack != NULL && ack->id != r_id;
                            ack = TAILQ_NEXT(ack, tq))
                                ;
                        if (ack == NULL)
-                               fatal("Can't find request for ID %d", id);
+                               fatal("Can't find request for ID %d", r_id);
                        TAILQ_REMOVE(&acks, ack, tq);
 
                        if (status != SSH2_FX_OK) {
This page took 0.112965 seconds and 5 git commands to generate.