summaryrefslogtreecommitdiff
path: root/nslcd/attmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'nslcd/attmap.c')
-rw-r--r--nslcd/attmap.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/nslcd/attmap.c b/nslcd/attmap.c
index 1911273..11d730b 100644
--- a/nslcd/attmap.c
+++ b/nslcd/attmap.c
@@ -274,6 +274,12 @@ const char *attmap_get_value(MYLDAP_ENTRY *entry, const char *attr,
values = myldap_get_values(entry, attr);
if ((values == NULL) || (values[0] == NULL))
return NULL;
+ if (strlen(values[0]) >= buflen)
+ {
+ log_log(LOG_ERR, "attmap_get_value(): buffer too small (%d required)",
+ strlen(values[0]));
+ return NULL;
+ }
strncpy(buffer, values[0], buflen);
buffer[buflen - 1] = '\0';
return buffer;