X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/7fd264b27bed0b1cb0b7bf7d75d9d3eabc93cba8..ad58c9bc9403a7bdbbdb420ac1ae70db0b4a66c8:/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;