[Slirp] [PATCH 4/6] tftp: use slirp_fmt0()
marcandre.lureau at redhat.com
marcandre.lureau at redhat.com
Mon Jan 27 09:24:12 UTC 2020
From: Marc-André Lureau <marcandre.lureau at redhat.com>
Make it OOB-safe, warn on truncation, always \0-end, abort on error.
Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
Reviewed-by: Samuel Thibault <samuel.thibault at ens-lyon.org>
---
src/tftp.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/tftp.c b/src/tftp.c
index 4d9ee1f..c209145 100644
--- a/src/tftp.c
+++ b/src/tftp.c
@@ -185,12 +185,8 @@ static int tftp_send_oack(struct tftp_session *spt, const char *keys[],
tp->tp_op = htons(TFTP_OACK);
for (i = 0; i < nb; i++) {
- n += snprintf(tp->x.tp_buf + n, sizeof(tp->x.tp_buf) - n, "%s",
- keys[i]) +
- 1;
- n += snprintf(tp->x.tp_buf + n, sizeof(tp->x.tp_buf) - n, "%u",
- values[i]) +
- 1;
+ n += slirp_fmt0(tp->x.tp_buf + n, sizeof(tp->x.tp_buf) - n, "%s", keys[i]);
+ n += slirp_fmt0(tp->x.tp_buf + n, sizeof(tp->x.tp_buf) - n, "%u", values[i]);
}
m->m_len = G_SIZEOF_MEMBER(struct tftp_t, tp_op) + n;
--
2.25.0.rc2.1.g09a9a1a997
More information about the Slirp
mailing list