Page MenuHomeFreeBSD

D60902.1794678379.diff
No OneTemporary

Authored By
Unknown
Size
773 B
Referenced Files
None
Subscribers
None

D60902.1794678379.diff

diff --git a/libexec/tftpd/tftpd.c b/libexec/tftpd/tftpd.c
--- a/libexec/tftpd/tftpd.c
+++ b/libexec/tftpd/tftpd.c
@@ -459,23 +459,24 @@
char **filename, char **mode)
{
struct formats *pf;
- char *cp;
- size_t i;
+ char *cp, *end;
+ size_t len;
*mode = NULL;
cp = recvbuffer;
+ end = recvbuffer + size;
- i = get_field(peer, recvbuffer, size);
- if (i >= PATH_MAX) {
+ len = get_field(peer, cp, end - cp);
+ if (len >= PATH_MAX) {
tftp_log(LOG_ERR, "Bad option - filename too long");
send_error(peer, EBADOP);
exit(1);
}
*filename = recvbuffer;
tftp_log(LOG_INFO, "Filename: '%s'", *filename);
- cp += i;
+ cp += len;
- i = get_field(peer, cp, size);
+ len = get_field(peer, cp, end - cp);
*mode = cp;
/* Find the file transfer mode */

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 14, 5:46 PM (9 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41171240
Default Alt Text
D60902.1794678379.diff (773 B)

Event Timeline