From 9e7f4c4fd27b2139acd91c0706ea3ebd81328149 Mon Sep 17 00:00:00 2001 From: djm Date: Mon, 17 Sep 2007 06:12:03 +0000 Subject: [PATCH] - djm@cvs.openbsd.org 2007/09/16 00:55:52 [sftp-client.c] use off_t instead of u_int64_t for file offsets, matching what the progressmeter code expects; bz #842 --- ChangeLog | 4 ++++ sftp-client.c | 12 +++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index a8930121..9f9f9045 100644 --- a/ChangeLog +++ b/ChangeLog @@ -55,6 +55,10 @@ - djm@cvs.openbsd.org 2007/09/13 04:39:04 [sftp-server.c] fix incorrect test when setting syslog facility; from Jan Pechanec + - djm@cvs.openbsd.org 2007/09/16 00:55:52 + [sftp-client.c] + use off_t instead of u_int64_t for file offsets, matching what the + progressmeter code expects; bz #842 20070914 - (dtucker) [openbsd-compat/bsd-asprintf.c] Plug mem leak in error path. diff --git a/sftp-client.c b/sftp-client.c index 2746f324..c12d1d38 100644 --- a/sftp-client.c +++ b/sftp-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-client.c,v 1.76 2007/01/22 11:32:50 djm Exp $ */ +/* $OpenBSD: sftp-client.c,v 1.77 2007/09/16 00:55:52 djm Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -994,7 +994,7 @@ do_upload(struct sftp_conn *conn, char *local_path, char *remote_path, { int local_fd, status; u_int handle_len, id, type; - u_int64_t offset; + off_t offset; char *handle, *data; Buffer msg; struct stat sb; @@ -1004,7 +1004,7 @@ do_upload(struct sftp_conn *conn, char *local_path, char *remote_path, struct outstanding_ack { u_int id; u_int len; - u_int64_t offset; + off_t offset; TAILQ_ENTRY(outstanding_ack) tq; }; TAILQ_HEAD(ackhead, outstanding_ack) acks; @@ -1143,12 +1143,14 @@ do_upload(struct sftp_conn *conn, char *local_path, char *remote_path, status = -1; goto done; } - debug3("In write loop, ack for %u %u bytes at %llu", - ack->id, ack->len, (unsigned long long)ack->offset); + debug3("In write loop, ack for %u %u bytes at %lld", + ack->id, ack->len, (long long)ack->offset); ++ackid; xfree(ack); } offset += len; + if (offset < 0) + fatal("%s: offset < 0", __func__); } if (showprogress) stop_progress_meter(); -- 2.45.2