From 2e65a920523519440f3768967915f022fae9701f Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 22 May 2018 10:10:39 +0200 Subject: tftp: make sure error is zero terminated before printfing it --- lib/tftp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib/tftp.c') diff --git a/lib/tftp.c b/lib/tftp.c index b32960f82..d57af6a7a 100644 --- a/lib/tftp.c +++ b/lib/tftp.c @@ -1148,8 +1148,11 @@ static CURLcode tftp_receive_packet(struct connectdata *conn) case TFTP_EVENT_ERROR: { unsigned short error = getrpacketblock(&state->rpacket); + char *str = (char *)state->rpacket.data + 4; + size_t strn = state->rbytes - 4; state->error = (tftp_error_t)error; - infof(data, "%s\n", (const char *)state->rpacket.data + 4); + if(Curl_strnlen(str, strn) < strn) + infof(data, "TFTP error: %s\n", str); break; } case TFTP_EVENT_ACK: -- cgit v1.2.3