diff options
author | Daniel Stenberg <daniel@haxx.se> | 2018-05-22 10:10:39 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2018-05-22 10:10:39 +0200 |
commit | 2e65a920523519440f3768967915f022fae9701f (patch) | |
tree | 06f50c7e333574ee0d8384ee13cde7443932b581 /lib/tftp.c | |
parent | 679fa59ed8d1e714c3887b37b4dc4c865dcd4953 (diff) | |
download | curl-2e65a920523519440f3768967915f022fae9701f.tar.gz |
tftp: make sure error is zero terminated before printfing it
Diffstat (limited to 'lib/tftp.c')
-rw-r--r-- | lib/tftp.c | 5 |
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: |