summaryrefslogtreecommitdiff
path: root/monitor_wrap.c
diff options
context:
space:
mode:
Diffstat (limited to 'monitor_wrap.c')
-rw-r--r--monitor_wrap.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/monitor_wrap.c b/monitor_wrap.c
index 8cfc8cc08..332652895 100644
--- a/monitor_wrap.c
+++ b/monitor_wrap.c
@@ -776,8 +776,11 @@ mm_sshpam_query(void *ctx, char **name, char **info,
776 *name = buffer_get_string(&m, NULL); 776 *name = buffer_get_string(&m, NULL);
777 *info = buffer_get_string(&m, NULL); 777 *info = buffer_get_string(&m, NULL);
778 *num = buffer_get_int(&m); 778 *num = buffer_get_int(&m);
779 *prompts = xmalloc((*num + 1) * sizeof(char *)); 779 if (*num > PAM_MAX_NUM_MSG)
780 *echo_on = xmalloc((*num + 1) * sizeof(u_int)); 780 fatal("%s: recieved %u PAM messages, expected <= %u",
781 __func__, *num, PAM_MAX_NUM_MSG);
782 *prompts = xcalloc((*num + 1), sizeof(char *));
783 *echo_on = xcalloc((*num + 1), sizeof(u_int));
781 for (i = 0; i < *num; ++i) { 784 for (i = 0; i < *num; ++i) {
782 (*prompts)[i] = buffer_get_string(&m, NULL); 785 (*prompts)[i] = buffer_get_string(&m, NULL);
783 (*echo_on)[i] = buffer_get_int(&m); 786 (*echo_on)[i] = buffer_get_int(&m);