summaryrefslogtreecommitdiff
path: root/auth-skey.c
diff options
context:
space:
mode:
authordjm <djm>2006-03-26 03:19:21 +0000
committerdjm <djm>2006-03-26 03:19:21 +0000
commit02eed99ef7f2174344b2a099b5ff4d93a3d5f0f5 (patch)
tree3c29a0454bc7ad8a196b13ac3701a96859eebc1c /auth-skey.c
parent1f9e006cae2d7883dee6850c5f969ceffcab05f8 (diff)
downloadopenssh-02eed99ef7f2174344b2a099b5ff4d93a3d5f0f5.tar.gz
- djm@cvs.openbsd.org 2006/03/25 00:05:41
[auth-bsdauth.c auth-skey.c auth.c auth2-chall.c channels.c] [clientloop.c deattack.c gss-genr.c kex.c key.c misc.c moduli.c] [monitor.c monitor_wrap.c packet.c scard.c sftp-server.c ssh-agent.c] [ssh-keyscan.c ssh.c sshconnect.c sshconnect2.c sshd.c uuencode.c] [xmalloc.c xmalloc.h] introduce xcalloc() and xasprintf() failure-checked allocations functions and use them throughout openssh xcalloc is particularly important because malloc(nmemb * size) is a dangerous idiom (subject to integer overflow) and it is time for it to die feedback and ok deraadt@
Diffstat (limited to 'auth-skey.c')
-rw-r--r--auth-skey.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/auth-skey.c b/auth-skey.c
index ce8c1a80..3e6a06db 100644
--- a/auth-skey.c
+++ b/auth-skey.c
@@ -53,15 +53,10 @@ skey_query(void *ctx, char **name, char **infotxt,
*name = xstrdup("");
*infotxt = xstrdup("");
*numprompts = 1;
- *prompts = xmalloc(*numprompts * sizeof(char *));
- *echo_on = xmalloc(*numprompts * sizeof(u_int));
- (*echo_on)[0] = 0;
+ *prompts = xcalloc(*numprompts, sizeof(char *));
+ *echo_on = xcalloc(*numprompts, sizeof(u_int));
- len = strlen(challenge) + strlen(SKEY_PROMPT) + 1;
- p = xmalloc(len);
- strlcpy(p, challenge, len);
- strlcat(p, SKEY_PROMPT, len);
- (*prompts)[0] = p;
+ xasprintf(*prompts, "%s%s", challenge, SKEY_PROMPT);
return 0;
}