summaryrefslogtreecommitdiff
path: root/misc.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 /misc.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 'misc.c')
-rw-r--r--misc.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/misc.c b/misc.c
index 1949dd4b..bf7b1ed6 100644
--- a/misc.c
+++ b/misc.c
@@ -172,9 +172,8 @@ strdelim(char **s)
struct passwd *
pwcopy(struct passwd *pw)
{
- struct passwd *copy = xmalloc(sizeof(*copy));
+ struct passwd *copy = xcalloc(1, sizeof(*copy));
- memset(copy, 0, sizeof(*copy));
copy->pw_name = xstrdup(pw->pw_name);
copy->pw_passwd = xstrdup(pw->pw_passwd);
copy->pw_gecos = xstrdup(pw->pw_gecos);
@@ -697,8 +696,7 @@ tohex(const u_char *d, u_int l)
u_int i, hl;
hl = l * 2 + 1;
- r = xmalloc(hl);
- *r = '\0';
+ r = xcalloc(1, hl);
for (i = 0; i < l; i++) {
snprintf(b, sizeof(b), "%02x", d[i]);
strlcat(r, b, hl);