summaryrefslogtreecommitdiffstats
path: root/contrib/openpam/lib/openpam_set_option.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/openpam/lib/openpam_set_option.c')
-rw-r--r--contrib/openpam/lib/openpam_set_option.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/contrib/openpam/lib/openpam_set_option.c b/contrib/openpam/lib/openpam_set_option.c
index 2862b0b..f65733b 100644
--- a/contrib/openpam/lib/openpam_set_option.c
+++ b/contrib/openpam/lib/openpam_set_option.c
@@ -31,7 +31,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $P4: //depot/projects/openpam/lib/openpam_set_option.c#5 $
+ * $P4: //depot/projects/openpam/lib/openpam_set_option.c#6 $
*/
#include <sys/param.h>
@@ -61,8 +61,9 @@ openpam_set_option(pam_handle_t *pamh,
size_t len;
int i;
+ ENTER();
if (pamh == NULL || pamh->current == NULL || option == NULL)
- return (PAM_SYSTEM_ERR);
+ RETURNC(PAM_SYSTEM_ERR);
cur = pamh->current;
for (len = 0; option[len] != '\0'; ++len)
if (option[len] == '=')
@@ -75,21 +76,21 @@ openpam_set_option(pam_handle_t *pamh,
if (value == NULL) {
/* remove */
if (i == cur->optc)
- return (PAM_SUCCESS);
+ RETURNC(PAM_SUCCESS);
for (free(cur->optv[i]); i < cur->optc; ++i)
cur->optv[i] = cur->optv[i + 1];
cur->optv[i] = NULL;
- return (PAM_SUCCESS);
+ RETURNC(PAM_SUCCESS);
}
if ((opt = malloc(len + strlen(value) + 2)) == NULL)
- return (PAM_BUF_ERR);
+ RETURNC(PAM_BUF_ERR);
sprintf(opt, "%.*s=%s", (int)len, option, value);
if (i == cur->optc) {
/* add */
optv = realloc(cur->optv, sizeof(char *) * (cur->optc + 2));
if (optv == NULL) {
free(opt);
- return (PAM_BUF_ERR);
+ RETURNC(PAM_BUF_ERR);
}
optv[i] = opt;
optv[i + 1] = NULL;
@@ -100,7 +101,7 @@ openpam_set_option(pam_handle_t *pamh,
free(cur->optv[i]);
cur->optv[i] = opt;
}
- return (PAM_SUCCESS);
+ RETURNC(PAM_SUCCESS);
}
/*
OpenPOWER on IntegriCloud