iFix handling of invalid items in yankitem and delve - 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 cc6a6881e06ab4b851c7778842374b953e51539c /scm/sacc/commit/cc6a6881e06ab4b851c7778842374b953e51539c.gph bitreich.org 70 1parent d16bb53db353da7b817b18809adf57b57c4f973e /scm/sacc/commit/d16bb53db353da7b817b18809adf57b57c4f973e.gph bitreich.org 70 hAuthor: Julian Schweinsberg URL:mailto:pazz0@0xfa.de bitreich.org 70 iDate: Sun, 27 Oct 2024 15:50:08 +0100 Err bitreich.org 70 i Err bitreich.org 70 iFix handling of invalid items in yankitem and delve Err bitreich.org 70 i Err bitreich.org 70 iAn invalid item contains zeroes in all fields other than username. Err bitreich.org 70 i Err bitreich.org 70 iThat lead to an segmentation fault in itemuri. Additionally NULL strings Err bitreich.org 70 iwould have been printed in delve. Err bitreich.org 70 i Err bitreich.org 70 iError was observed on gopher://gopher.someodd.zip/1/phorum ( "mirror" of Err bitreich.org 70 ierroneous content hosted at Err bitreich.org 70 igopher://gopher.0xfa.de/1/pazz0/p/someodd_phorum ). Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M sacc.c | 6 ++++-- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 4 insertions(+), 2 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/sacc.c b/sacc.c /scm/sacc/file/sacc.c.gph bitreich.org 70 i@@ -798,6 +798,9 @@ cleanup: Err bitreich.org 70 i void Err bitreich.org 70 i yankitem(Item *item) Err bitreich.org 70 i { Err bitreich.org 70 i+ if (item->type == 0) Err bitreich.org 70 i+ return; Err bitreich.org 70 i+ Err bitreich.org 70 i itemuri(item, intbuf, sizeof(intbuf)); Err bitreich.org 70 i pipeuri(yanker, "Yanked", intbuf); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -969,8 +972,7 @@ delve(Item *hole) Err bitreich.org 70 i entry = hole; Err bitreich.org 70 i break; Err bitreich.org 70 i case 0: Err bitreich.org 70 i- diag("Couldn't get %s:%s/%c%s", hole->host, Err bitreich.org 70 i- hole->port, hole->type, hole->selector); Err bitreich.org 70 i+ diag("Couldn't get %s", hole->username); Err bitreich.org 70 i break; Err bitreich.org 70 i case '4': Err bitreich.org 70 i case '5': Err bitreich.org 70 .