X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/b8a98e2597d1db9b40442c9a2aa6474ecf54353d..bfa5400d3e166e1acc25dbe0b7f1fdf74b272568:/scp.c diff --git a/scp.c b/scp.c index de394840..70f13be9 100644 --- a/scp.c +++ b/scp.c @@ -178,14 +178,13 @@ int from_backend(void *frontend, int is_stderr, const char *data, int datalen) unsigned char *p = (unsigned char *) data; unsigned len = (unsigned) datalen; - assert(len > 0); - /* * stderr data is just spouted to local stderr and otherwise * ignored. */ if (is_stderr) { - fwrite(data, 1, len, stderr); + if (len > 0) + fwrite(data, 1, len, stderr); return 0; } @@ -195,7 +194,7 @@ int from_backend(void *frontend, int is_stderr, const char *data, int datalen) if (!outptr) return 0; - if (outlen > 0) { + if ((outlen > 0) && (len > 0)) { unsigned used = outlen; if (used > len) used = len;