Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mRemoteNG/PuTTYNG.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Nevins <jacobn@chiark.greenend.org.uk>2003-10-12 17:16:39 +0400
committerJacob Nevins <jacobn@chiark.greenend.org.uk>2003-10-12 17:16:39 +0400
commit8e2fd15bd598f3586a2eb36b460d21d77de94db4 (patch)
tree80ee5c600727a8d814cb1f1dbf2eb5cca34aa3e4 /psftp.c
parent5415873b3f0fa44da645a41eae6f51494d6edd7b (diff)
Remove all the "assert(len>0)" which forbade zero-length writes across the
from_backend() interface, after having made all implementations safe against being called with len==0 and possibly-NULL/undefined "data". (This includes making misc.c:bufchain_add() more robust in this area.) Assertion was originally added 2002-03-01; e.g., see plink.c:1.53 [r1571]. I believe this now shouldn't break anything. This should hopefully make `ppk-empty-comment' finally GO AWAY. (Tested with Unix PuTTY.) [originally from svn r3500] [r1571 == fdbd6978016e9fd87db7b3bfc33ff0da8bd3eea9]
Diffstat (limited to 'psftp.c')
-rw-r--r--psftp.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/psftp.c b/psftp.c
index ca01f12a..c7cd8701 100644
--- a/psftp.c
+++ b/psftp.c
@@ -1639,14 +1639,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;
}
@@ -1656,7 +1655,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;