itls: Fix certificate path length calculation - sacc - sacc(omys), simple console gopher client Err bitreich.org 70 hgit clone git://bitreich.org/sacc/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sacc/ URL:git://bitreich.org/sacc/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sacc/ bitreich.org 70 1Log /scm/sacc/log.gph bitreich.org 70 1Files /scm/sacc/files.gph bitreich.org 70 1Refs /scm/sacc/refs.gph bitreich.org 70 1Tags /scm/sacc/tag bitreich.org 70 1LICENSE /scm/sacc/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 8b2a2eaf79da098717fe9a7d87fca9fa1f6c6579 /scm/sacc/commit/8b2a2eaf79da098717fe9a7d87fca9fa1f6c6579.gph bitreich.org 70 1parent 9dec9b200c1bddd6d12f4aa6b43e2c329f513235 /scm/sacc/commit/9dec9b200c1bddd6d12f4aa6b43e2c329f513235.gph bitreich.org 70 hAuthor: Quentin Rameau URL:mailto:quinq@fifth.space bitreich.org 70 iDate: Sat, 15 Oct 2022 23:10:38 +0200 Err bitreich.org 70 i Err bitreich.org 70 itls: Fix certificate path length calculation Err bitreich.org 70 i Err bitreich.org 70 iThanks to Hiltjo for spotting this! Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M io_tls.c | 8 ++++---- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 4 insertions(+), 4 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/io_tls.c b/io_tls.c /scm/sacc/file/io_tls.c.gph bitreich.org 70 i@@ -23,7 +23,7 @@ struct pem { Err bitreich.org 70 i char path[PATH_MAX]; Err bitreich.org 70 i char *dir; Err bitreich.org 70 i char *cert; Err bitreich.org 70 i- size_t certln; Err bitreich.org 70 i+ size_t certsz; Err bitreich.org 70 i }; Err bitreich.org 70 i Err bitreich.org 70 i int tls; Err bitreich.org 70 i@@ -78,7 +78,7 @@ setup_tls(void) Err bitreich.org 70 i pem.path, strerror(errno)); Err bitreich.org 70 i } else { Err bitreich.org 70 i pem.cert = pem.path + n; Err bitreich.org 70 i- pem.certln = pem.cert - pem.path; Err bitreich.org 70 i+ pem.certsz = sizeof(pem.path) - n; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i return 0; Err bitreich.org 70 i@@ -133,8 +133,8 @@ conftls(struct tls *t, const char *host) Err bitreich.org 70 i if (pem.cert == NULL) Err bitreich.org 70 i return NULL; Err bitreich.org 70 i Err bitreich.org 70 i- n = snprintf(pem.cert, pem.certln, host); Err bitreich.org 70 i- if (n < 0 || (unsigned)n >= pem.certln) { Err bitreich.org 70 i+ n = snprintf(pem.cert, pem.certsz, "%s", host); Err bitreich.org 70 i+ if (n < 0 || (unsigned)n >= pem.certsz) { Err bitreich.org 70 i diag("PEM path too long: %s/%s", pem.cert, host); Err bitreich.org 70 i return NULL; Err bitreich.org 70 i } Err bitreich.org 70 .