itfix check for encoding or truncation for snprintf - vote - simple cgi voting system for web and gopher Err mx1.adamsgaard.dk 70 hgit clone git://src.adamsgaard.dk/vote URL:git://src.adamsgaard.dk/vote mx1.adamsgaard.dk 70 1Log /src/vote/log.gph mx1.adamsgaard.dk 70 1Files /src/vote/files.gph mx1.adamsgaard.dk 70 1Refs /src/vote/refs.gph mx1.adamsgaard.dk 70 1README /src/vote/file/README.gph mx1.adamsgaard.dk 70 1LICENSE /src/vote/file/LICENSE.gph mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1commit 542105db6abb6ea8f555fe1c60343aebb85dd91b /src/vote/commit/542105db6abb6ea8f555fe1c60343aebb85dd91b.gph mx1.adamsgaard.dk 70 1parent 273ce99a3b8fe03c3808861b41f8cbfcbdc8f0b3 /src/vote/commit/273ce99a3b8fe03c3808861b41f8cbfcbdc8f0b3.gph mx1.adamsgaard.dk 70 hAuthor: Hiltjo Posthuma URL:mailto:hiltjo@codemadness.org mx1.adamsgaard.dk 70 iDate: Sun, 4 Oct 2020 15:46:19 +0200 Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 ifix check for encoding or truncation for snprintf Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iSigned-off-by: Anders Damsgaard Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iDiffstat: Err mx1.adamsgaard.dk 70 i M vote.c | 6 ++++-- Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i1 file changed, 4 insertions(+), 2 deletions(-) Err mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1diff --git a/vote.c b/vote.c /src/vote/file/vote.c.gph mx1.adamsgaard.dk 70 it@@ -48,11 +48,13 @@ char * Err mx1.adamsgaard.dk 70 i pollfile(const char *poll_name, const char *postfix) Err mx1.adamsgaard.dk 70 i { Err mx1.adamsgaard.dk 70 i char buf[PATH_MAX]; Err mx1.adamsgaard.dk 70 i+ int r; Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i strlcpy(buf, poll_name, sizeof(buf)); Err mx1.adamsgaard.dk 70 i escapechars(buf); Err mx1.adamsgaard.dk 70 i- if (snprintf(fname, sizeof(fname), "%s/%s%s", Err mx1.adamsgaard.dk 70 i- POLLS_DIR, buf, postfix) < 0) { Err mx1.adamsgaard.dk 70 i+ r = snprintf(fname, sizeof(fname), "%s/%s%s", Err mx1.adamsgaard.dk 70 i+ POLLS_DIR, buf, postfix); Err mx1.adamsgaard.dk 70 i+ if (r < 0 || (size_t)r >= sizeof(fname)) { Err mx1.adamsgaard.dk 70 i http_status(500); Err mx1.adamsgaard.dk 70 i err(1, "show_poll: snprintf fname %s/%s%s", Err mx1.adamsgaard.dk 70 i POLLS_DIR, buf, postfix); Err mx1.adamsgaard.dk 70 .