don't free string returned by login_getcapstr(3)
OpenBSD and NetBSD require the caller to free strings returned bu the login_* functions, but FreeBSD requires that callers don't. Fortunately in this case, we can harmlessly leak as the process is about to exec the shell/command. From https://reviews.freebsd.org/D28617 via Ed Maste; ok dtucker@
This commit is contained in:
parent
bc9b0c2570
commit
f060c2bc85
|
@ -1287,11 +1287,8 @@ do_nologin(struct passwd *pw)
|
||||||
return;
|
return;
|
||||||
nl = def_nl;
|
nl = def_nl;
|
||||||
#endif
|
#endif
|
||||||
if (stat(nl, &sb) == -1) {
|
if (stat(nl, &sb) == -1)
|
||||||
if (nl != def_nl)
|
|
||||||
free(nl);
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
/* /etc/nologin exists. Print its contents if we can and exit. */
|
/* /etc/nologin exists. Print its contents if we can and exit. */
|
||||||
logit("User %.100s not allowed because %s exists", pw->pw_name, nl);
|
logit("User %.100s not allowed because %s exists", pw->pw_name, nl);
|
||||||
|
|
Loading…
Reference in New Issue