OpenSSH Linux portable patch proposal
Darren Tucker
dtucker at zip.com.au
Wed Jun 3 13:39:54 AEST 2015
On Wed, Jun 3, 2015 at 8:01 AM, Ángel González <keisial at gmail.com> wrote:
> On 02/06/15 15:46, György Demarcsek Ifj. wrote:
>
[...]
> You also removed a number of trailing spaces from the files, which make
> the patch harder to read.
>
We should clean up the trailing spaces upstream (there's more than I would
have thought) but that churn can wait until after the upcoming release. I
agree that having no-op whitespace changes in the diff doesn't help.
Anyway, as to the diff itself:
+ if (authctxt->last_auth_methods == NULL) {
+ authctxt->last_auth_methods = xcalloc(strlen(method) + 2,
sizeof(char));
sizeof(char) == 1 by definition.
+ } else {
+ am_copy = xstrdup(authctxt->last_auth_methods);
+ free(authctxt->last_auth_methods);
+ authctxt->last_auth_methods = xcalloc(strlen(am_copy) + strlen(method)
+ 2, sizeof(char));
+ strcpy(authctxt->last_auth_methods, am_copy);
strcpy (and strcat) are not bounds checked (probably safe in this
particular case but we consider their use to be bad practice).
+ free(am_copy);
+ }
+
+ strcat(authctxt->last_auth_methods, method);
+ if (authctxt->num_auth_methods != 1)
+ strcat(authctxt->last_auth_methods, ",");
This seems to be an extremely complicated way of saying "append the method
to a comma separated list" (although it'll have a trailing comma, which I'm
not sure is intended. How about something like:
if (authctxt->last_auth_methods == NULL)
authctxt->last_auth_methods = xstrdup(method);
else {
am_copy = authctxt->last_auth_methods;
xasprintf(&authctxt->last_auth_methods, "%s,%s", am_copy, method);
free(am_copy);
}
--
Darren Tucker (dtucker at zip.com.au)
GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4 37C9 C982 80C7 8FF4 FA69
Good judgement comes with experience. Unfortunately, the experience
usually comes from bad judgement.
More information about the openssh-unix-dev
mailing list