From: Bello Olamide Date: Tue, 21 Oct 2025 12:12:52 GMT Subject: Re: [Outreachy PATCH v4 2/2] gpg-interface: do not use misdesigned strbuf_split*() [Part 2] Message-ID: In-Reply-To: On Tue, 21 Oct 2025 at 08:01, Christian Couder wrote: > > On Tue, Oct 21, 2025 at 12:57 AM Olamide Caleb Bello wrote: > > [...] > > > Reported-by: Junio Hamano > > Helped-by: Christian Couder > > Helped-by: Junio Hamano > > Helped-by: Krisoffer Haughsbakk > > I won't repeat the issues that are the same as in patch 1/2, but > please correct them. > > [...] Yes, thank you. I will fix them. > > > @@ -887,19 +887,21 @@ static char *get_default_ssh_signing_key(void) > > &key_stderr, 0); > > > > if (!ret) { > > - keys = strbuf_split_max(&key_stdout, '\n', 2); > > - if (keys[0] && is_literal_ssh_key(keys[0]->buf, &literal_key)) { > > + begin = key_stdout.buf; > > + new_line = strchr(begin, '\n'); > > + first_line = xmemdupz(begin, new_line - begin); > > What if no \n character is found by strchr()? In the original code, just the first line of a possible two lines is returned. So since we need just the first and if no new line is found, I can do char *end = new_line ? new_line : strchr(begin, '\0'); first_line = xmemdupz(begin, end); Does this work? Thanks Bello