X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/8a9ec85763809cd3e849d3b00750ba74222dee18..772e31660471d86323fcf959c9cbde9861e7b4d9:/sftp.c diff --git a/sftp.c b/sftp.c index 19bb61a0..4c051826 100644 --- a/sftp.c +++ b/sftp.c @@ -366,7 +366,6 @@ struct sftp_request *sftp_find_request(struct sftp_packet *pktin) if (!req || !req->registered) { fxp_internal_error("request ID mismatch\n"); - sftp_pkt_free(pktin); return NULL; } @@ -1203,6 +1202,8 @@ int xfer_download_gotpkt(struct fxp_xfer *xfer, struct sftp_packet *pktin) struct req *rr; rreq = sftp_find_request(pktin); + if (!rreq) + return 0; /* this packet doesn't even make sense */ rr = (struct req *)fxp_get_userdata(rreq); if (!rr) return 0; /* this packet isn't ours */ @@ -1383,6 +1384,8 @@ int xfer_upload_gotpkt(struct fxp_xfer *xfer, struct sftp_packet *pktin) int ret; rreq = sftp_find_request(pktin); + if (!rreq) + return 0; /* this packet doesn't even make sense */ rr = (struct req *)fxp_get_userdata(rreq); if (!rr) return 0; /* this packet isn't ours */