summaryrefslogtreecommitdiffstats
path: root/usr.sbin/tftpd
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/tftpd')
-rw-r--r--usr.sbin/tftpd/tftpd.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/usr.sbin/tftpd/tftpd.c b/usr.sbin/tftpd/tftpd.c
index b3497ae22c7..64282c0a6da 100644
--- a/usr.sbin/tftpd/tftpd.c
+++ b/usr.sbin/tftpd/tftpd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tftpd.c,v 1.22 2014/08/13 17:41:58 tobias Exp $ */
+/* $OpenBSD: tftpd.c,v 1.23 2014/11/19 11:48:39 dlg Exp $ */
/*
* Copyright (c) 2012 David Gwynne <dlg@uq.edu.au>
@@ -434,14 +434,17 @@ rewrite_events(void)
void
rewrite_map(struct tftp_client *client, const char *filename)
{
- char nicebuf[MAXPATHLEN];
+ char *nicebuf;
- (void)strnvis(nicebuf, filename, MAXPATHLEN, VIS_SAFE|VIS_OCTAL);
+ if (stravis(&nicebuf, filename, VIS_SAFE|VIS_OCTAL) == -1)
+ lerr(1, "rwmap stravis");
if (evbuffer_add_printf(rwmap->wrbuf, "%s %s %s\n", getip(&client->ss),
client->opcode == WRQ ? "write" : "read", nicebuf) == -1)
lerr(1, "rwmap printf");
+ free(nicebuf);
+
TAILQ_INSERT_TAIL(&rwmap->clients, client, entry);
event_add(&rwmap->wrev, NULL);