From: Denys Vlasenko Date: Sun, 8 Nov 2009 17:27:18 +0000 (+0100) Subject: tftpd: another small tweak X-Git-Tag: 1_16_0~248 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=6528abeb6af88f40924c85e8cf05dad1d3ab88a5;p=oweals%2Fbusybox.git tftpd: another small tweak Signed-off-by: Denys Vlasenko --- diff --git a/networking/tftp.c b/networking/tftp.c index eddb1486b..ef4198be8 100644 --- a/networking/tftp.c +++ b/networking/tftp.c @@ -743,7 +743,7 @@ int tftpd_main(int argc UNUSED_PARAM, char **argv) const char *error_msg; int opt, result, opcode; IF_FEATURE_TFTP_BLOCKSIZE(int blksize = TFTP_BLKSIZE_DEFAULT;) - IF_FEATURE_TFTP_BLOCKSIZE(int want_transfer_size = 0;) + IF_FEATURE_TFTP_BLOCKSIZE(int want_transfer_size;) INIT_G(); @@ -791,6 +791,7 @@ int tftpd_main(int argc UNUSED_PARAM, char **argv) goto err; } # if ENABLE_FEATURE_TFTP_BLOCKSIZE + want_transfer_size = 0; { char *res; char *opt_str = mode + sizeof("octet"); @@ -805,8 +806,10 @@ int tftpd_main(int argc UNUSED_PARAM, char **argv) goto do_proto; } } + if (opcode != TFTP_WRQ /* download? */ /* did client ask us about file size? */ - if (tftp_get_option("tsize", opt_str, opt_len)) { + && tftp_get_option("tsize", opt_str, opt_len) + ) { want_transfer_size = 1; } } @@ -821,7 +824,6 @@ int tftpd_main(int argc UNUSED_PARAM, char **argv) goto err; } IF_GETPUT(option_mask32 |= TFTP_OPT_GET;) /* will receive file's data */ - want_transfer_size = 0; /* do not send file size, it's meaningless */ } else { IF_GETPUT(option_mask32 |= TFTP_OPT_PUT;) /* will send file's data */ }