Decrement optc when removing an option.

This commit is contained in:
Dag-Erling Smørgrav 2023-06-26 19:51:55 +02:00
parent 4b2e3c92df
commit 0458be7855
4 changed files with 7 additions and 2 deletions

View File

@ -45,6 +45,7 @@ ideas:
Mikko Työläjärvi <mbsd@pacbell.net> Mikko Työläjärvi <mbsd@pacbell.net>
Nick Hibma <nick@van-laarhoven.org> Nick Hibma <nick@van-laarhoven.org>
Patrick Bihan-Faou <patrick-fbsd@mindstep.com> Patrick Bihan-Faou <patrick-fbsd@mindstep.com>
Robert Morris <rtm@lcs.mit.edu>
Robert Watson <rwatson@freebsd.org> Robert Watson <rwatson@freebsd.org>
Ruslan Ermilov <ru@freebsd.org> Ruslan Ermilov <ru@freebsd.org>
Sebastian Krahmer <sebastian.krahmer@gmail.com> Sebastian Krahmer <sebastian.krahmer@gmail.com>

View File

@ -2,6 +2,9 @@ OpenPAM ??? 2020-07-??
- BUGFIX: Fix race condition in openpam_ttyconv(3) when used with - BUGFIX: Fix race condition in openpam_ttyconv(3) when used with
expect scripts. expect scripts.
- BUGFIX: In openpam_set_option(3), when removing an option, properly
decrement the option count.
============================================================================ ============================================================================
OpenPAM Tabebuia 2019-02-24 OpenPAM Tabebuia 2019-02-24

View File

@ -1,6 +1,6 @@
Copyright (c) 2002-2003 Networks Associates Technology, Inc. Copyright (c) 2002-2003 Networks Associates Technology, Inc.
Copyright (c) 2004-2019 Dag-Erling Smørgrav Copyright (c) 2004-2023 Dag-Erling Smørgrav
All rights reserved. All rights reserved.
This software was developed for the FreeBSD Project by ThinkSec AS and This software was developed for the FreeBSD Project by ThinkSec AS and

View File

@ -1,6 +1,6 @@
/*- /*-
* Copyright (c) 2002-2003 Networks Associates Technology, Inc. * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
* Copyright (c) 2004-2011 Dag-Erling Smørgrav * Copyright (c) 2004-2023 Dag-Erling Smørgrav
* All rights reserved. * All rights reserved.
* *
* This software was developed for the FreeBSD Project by ThinkSec AS and * This software was developed for the FreeBSD Project by ThinkSec AS and
@ -83,6 +83,7 @@ openpam_set_option(pam_handle_t *pamh,
for (free(cur->optv[i]); i < cur->optc; ++i) for (free(cur->optv[i]); i < cur->optc; ++i)
cur->optv[i] = cur->optv[i + 1]; cur->optv[i] = cur->optv[i + 1];
cur->optv[i] = NULL; cur->optv[i] = NULL;
--cur->optc;
RETURNC(PAM_SUCCESS); RETURNC(PAM_SUCCESS);
} }
if (asprintf(&opt, "%.*s=%s", (int)len, option, value) < 0) if (asprintf(&opt, "%.*s=%s", (int)len, option, value) < 0)