Index: libexec/tftpd/tftp-transfer.c =================================================================== --- libexec/tftpd/tftp-transfer.c +++ libexec/tftpd/tftp-transfer.c @@ -124,7 +124,10 @@ acktry++; ts->retries++; - seek_file(window[0].offset); + if (seek_file(window[0].offset) != 0) { + send_error(peer, errno + 100); + goto abort; + } *block = window[0].block; windowblock = 0; goto read_block; @@ -158,7 +161,10 @@ /* Resend the current window. */ ts->retries++; - seek_file(window[0].offset); + if (seek_file(window[0].offset) != 0) { + send_error(peer, errno + 100); + goto abort; + } *block = window[0].block; windowblock = 0; goto read_block; @@ -183,7 +189,11 @@ if (debug&DEBUG_SIMPLE) tftp_log(LOG_DEBUG, "Partial ACK"); - seek_file(window[i + 1].offset); + if (seek_file(window[i + 1].offset) != + 0) { + send_error(peer, errno + 100); + goto abort; + } *block = window[i + 1].block; windowblock = 0; ts->retries++;