From 88d2fca81ce9df2ed11cbcf34cf35d078313c4cc Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Mon, 9 Jan 2023 12:47:22 +1030 Subject: [PATCH] membuf: avoid buffer overrun in example code, memleak. Signed-off-by: Rusty Russell --- ccan/membuf/_info | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ccan/membuf/_info b/ccan/membuf/_info index bdcbce2b..a859318c 100644 --- a/ccan/membuf/_info +++ b/ccan/membuf/_info @@ -26,13 +26,16 @@ * * membuf_init(&charbuf, malloc(10), 10, membuf_realloc); * - * for (int i = 1; i < argc; i++) - * strcpy(membuf_add(&charbuf, strlen(argv[i])), argv[i]); + * for (int i = 1; i < argc; i++) { + * size_t len = strlen(argv[i]); + * memcpy(membuf_add(&charbuf, len), argv[i], len); + * } * * // This is dumb, we could do all at once, but shows technique. * while (membuf_num_elems(&charbuf) > 0) * printf("%c", *(char *)membuf_consume(&charbuf, 1)); * printf("\n"); + * free(membuf_cleanup(&charbuf)); * return 0; * } */ -- 2.39.2