summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bufaux.c9
-rw-r--r--scp.c12
2 files changed, 11 insertions, 10 deletions
diff --git a/bufaux.c b/bufaux.c
index 1e27e735..a1ba0fd5 100644
--- a/bufaux.c
+++ b/bufaux.c
@@ -15,7 +15,7 @@ Buffers.
*/
#include "includes.h"
-RCSID("$Id: bufaux.c,v 1.4 1999/11/12 23:51:58 damien Exp $");
+RCSID("$Id: bufaux.c,v 1.5 1999/11/13 02:22:46 damien Exp $");
#include "ssh.h"
@@ -71,10 +71,11 @@ buffer_get_bignum(Buffer *buffer, BIGNUM *value)
bits = GET_16BIT(buf);
/* Compute the number of binary bytes that follow. */
bytes = (bits + 7) / 8;
- bin = xmalloc(bytes);
- buffer_get(buffer, bin, bytes);
+ if (buffer_len(buffer) < bytes)
+ fatal("buffer_get_bignum: input buffer too small");
+ bin = buffer_ptr(buffer);
BN_bin2bn(bin, bytes, value);
- xfree(bin);
+ buffer_consume(buffer, bytes);
return 2 + bytes;
}
diff --git a/scp.c b/scp.c
index 95160e81..2850f76f 100644
--- a/scp.c
+++ b/scp.c
@@ -42,11 +42,11 @@ and ssh has the necessary privileges.)
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: scp.c,v 1.5 1999/11/12 05:28:02 damien Exp $
+ * $Id: scp.c,v 1.6 1999/11/13 02:22:46 damien Exp $
*/
#include "includes.h"
-RCSID("$Id: scp.c,v 1.5 1999/11/12 05:28:02 damien Exp $");
+RCSID("$Id: scp.c,v 1.6 1999/11/13 02:22:46 damien Exp $");
#include "ssh.h"
#include "xmalloc.h"
@@ -70,7 +70,7 @@ static struct timeval start;
volatile unsigned long statbytes;
/* Total size of current file. */
-unsigned long totalbytes = 0;
+off_t totalbytes = 0;
/* Name of current file being transferred. */
char *curfile;
@@ -976,7 +976,7 @@ run_err(const char *fmt, ...)
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: scp.c,v 1.5 1999/11/12 05:28:02 damien Exp $
+ * $Id: scp.c,v 1.6 1999/11/13 02:22:46 damien Exp $
*/
char *
@@ -1131,8 +1131,8 @@ progressmeter(int flag)
}
(void)gettimeofday(&now, (struct timezone *)0);
cursize = statbytes;
- if ((totalbytes >> 10) != 0) {
- ratio = (cursize >> 10) * 100 / (totalbytes >> 10);
+ if (totalbytes != 0) {
+ ratio = cursize * 100 / totalbytes;
ratio = MAX(ratio, 0);
ratio = MIN(ratio, 100);
}