From 1c9234c4f73004919d5776f7aac5e73642dec003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Mon, 11 Feb 2008 21:46:45 +0000 Subject: [PATCH] Use malloc() instead of static buffer. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@22588 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/hdb/hdb-ldap.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/hdb/hdb-ldap.c b/lib/hdb/hdb-ldap.c index d92bab4eb..0bf0264c2 100644 --- a/lib/hdb/hdb-ldap.c +++ b/lib/hdb/hdb-ldap.c @@ -989,8 +989,10 @@ LDAP_message2entry(krb5_context context, HDB * db, LDAPMessage * msg, goto out; } for (i = 0; i < ent->entry.etypes->len; i++) { - char buf[100]; - if (vals[i]->bv_len > sizeof(buf) - 1) { + char *buf; + + buf = malloc(vals[i]->bv_len + 1); + if (buf == NULL) { krb5_set_error_string(context, "malloc: out of memory"); ret = ENOMEM; goto out; @@ -998,6 +1000,7 @@ LDAP_message2entry(krb5_context context, HDB * db, LDAPMessage * msg, memcpy(buf, vals[i]->bv_val, vals[i]->bv_len); buf[vals[i]->bv_len] = '\0'; ent->entry.etypes->val[i] = atoi(buf); + free(buf); } ldap_value_free_len(vals); }