summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2018-05-22 10:10:39 +0200
committerDaniel Stenberg <daniel@haxx.se>2018-05-22 10:10:39 +0200
commit2e65a920523519440f3768967915f022fae9701f (patch)
tree06f50c7e333574ee0d8384ee13cde7443932b581
parent679fa59ed8d1e714c3887b37b4dc4c865dcd4953 (diff)
downloadcurl-2e65a920523519440f3768967915f022fae9701f.tar.gz
tftp: make sure error is zero terminated before printfing it
-rw-r--r--lib/tftp.c5
1 files changed, 4 insertions, 1 deletions
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: