diff --git a/networking/tftp.c b/networking/tftp.c
index bfa9897b9..02ddb4ded 100644
--- a/networking/tftp.c
+++ b/networking/tftp.c
@@ -267,7 +267,7 @@ static inline int tftp(const int cmd, const struct hostent *host,
 			block_nr++;
 
 			if (cmd_put && (opcode == TFTP_DATA)) {
-				len = read(localfd, cp, tftp_bufsize - 4);
+				len = bb_full_read(localfd, cp, tftp_bufsize - 4);
 
 				if (len < 0) {
 					bb_perror_msg("read");
@@ -444,7 +444,7 @@ static inline int tftp(const int cmd, const struct hostent *host,
 
 			if (tmp == block_nr) {
 			
-				len = write(localfd, &buf[4], len - 4);
+				len = bb_full_write(localfd, &buf[4], len - 4);
 
 				if (len < 0) {
 					bb_perror_msg("write");