[oe] [PATCH] tftp-hpa: bug fix on empty file put error

Zhang Xiao xiao.zhang at windriver.com
Thu Sep 4 09:40:17 UTC 2014


With the feature that checking the disk filled up, the return value of
function write_behind was checked and used to detect the disk status.
While for empty file, without data being written, this function will
return -1 thus the disk filled up error was miss-raised. Fix it.

Signed-off-by: Zhang Xiao <xiao.zhang at windriver.com>
---
 .../tftp-hpa-bug-fix-on-empty-file-put-error.patch | 33 ++++++++++++++++++++++
 .../recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb       |  1 +
 2 files changed, 34 insertions(+)
 create mode 100644 meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-empty-file-put-error.patch

diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-empty-file-put-error.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-empty-file-put-error.patch
new file mode 100644
index 0000000..aa29d9c
--- /dev/null
+++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-empty-file-put-error.patch
@@ -0,0 +1,33 @@
+tftp-hpa: bug fix on empty file put error
+
+With the feature that checking the disk filled up, the return value of
+function write_behind was checked and used to detect the disk status.
+While for empty file, without data being written, this function will
+return -1 thus the disk filled up error was miss-raised. Fix it.
+
+Upstream-Status: pending
+
+Signed-off-by: Zhang Xiao <xiao.zhang at windriver.com>
+---
+ tftpd/tftpd.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+--- a/tftpd/tftpd.c
++++ b/tftpd/tftpd.c
+@@ -1692,7 +1692,7 @@ static void tftp_recvfile(const struct f
+             syslog(LOG_WARNING, "tftpd: write(ack): %m");
+             goto abort;
+         }
+-        if(write_behind(file, pf->f_convert) < 0) {
++        if(write_behind(file, pf->f_convert) < -1) {
+             nak(ENOSPACE, NULL);
+             (void)fclose(file);
+             goto abort;
+@@ -1727,7 +1727,7 @@ static void tftp_recvfile(const struct f
+             goto abort;
+         }
+     } while (size == segsize);
+-    if(write_behind(file, pf->f_convert) < 0) {
++    if(write_behind(file, pf->f_convert) < -1) {
+         nak(ENOSPACE, NULL);
+         (void)fclose(file);
+         goto abort;
diff --git a/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
index 1951747..e58a4b1 100644
--- a/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
+++ b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
@@ -25,6 +25,7 @@ SRC_URI = "http://kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-${PV}.t
            file://init \
            file://add-error-check-for-disk-filled-up.patch \
            file://tftp-hpa-bug-fix-on-separated-CR-and-LF.patch \
+           file://tftp-hpa-bug-fix-on-empty-file-put-error.patch \
 "
 
 SRC_URI[md5sum] = "46c9bd20bbffa62f79c958c7b99aac21"
-- 
1.8.5.2.233.g932f7e4




More information about the Openembedded-devel mailing list