git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SPDX: license tags (mostly by guesswork)
[exim.git]
/
src
/
src
/
auths
/
call_pam.c
diff --git
a/src/src/auths/call_pam.c
b/src/src/auths/call_pam.c
index 2959cbbf382d0c84927933f8c35b885751f942bc..483b083be39c94a143f8bd51e74adb59aff70d49 100644
(file)
--- a/
src/src/auths/call_pam.c
+++ b/
src/src/auths/call_pam.c
@@
-3,8
+3,9
@@
*************************************************/
/* Copyright (c) University of Cambridge 1995 - 2018 */
*************************************************/
/* Copyright (c) University of Cambridge 1995 - 2018 */
-/* Copyright (c) The Exim Maintainers 2020 */
+/* Copyright (c) The Exim Maintainers 2020
- 2021
*/
/* See the file NOTICE for conditions of use and distribution. */
/* See the file NOTICE for conditions of use and distribution. */
+/* SPDX-License-Identifier: GPL-2.0-only */
#include "../exim.h"
#include "../exim.h"
@@
-83,13
+84,12
@@
for (int i = 0; i < num_msg; i++)
{
case PAM_PROMPT_ECHO_ON:
case PAM_PROMPT_ECHO_OFF:
{
case PAM_PROMPT_ECHO_ON:
case PAM_PROMPT_ECHO_OFF:
- arg = string_nextinlist(&pam_args, &sep, big_buffer, big_buffer_size);
- if (!arg)
+ if (!(arg = string_nextinlist(&pam_args, &sep, NULL, 0)))
{
arg = US"";
pam_arg_ended = TRUE;
}
{
arg = US"";
pam_arg_ended = TRUE;
}
- reply[i].resp =
CS string_copy_malloc(arg); /* PAM frees resp
*/
+ reply[i].resp =
strdup(CCS arg); /* Use libc malloc, PAM frees resp directly
*/
reply[i].resp_retcode = PAM_SUCCESS;
break;
reply[i].resp_retcode = PAM_SUCCESS;
break;
@@
-155,7
+155,7
@@
pam_arg_ended = FALSE;
fail. PAM doesn't support authentication with an empty user (it prompts for it,
causing a potential mis-interpretation). */
fail. PAM doesn't support authentication with an empty user (it prompts for it,
causing a potential mis-interpretation). */
-user = string_nextinlist(&pam_args, &sep,
big_buffer, big_buffer_size
);
+user = string_nextinlist(&pam_args, &sep,
NULL, 0
);
if (user == NULL || user[0] == 0) return FAIL;
/* Start off PAM interaction */
if (user == NULL || user[0] == 0) return FAIL;
/* Start off PAM interaction */