diff options
Diffstat (limited to 'nslcd/attmap.c')
| -rw-r--r-- | nslcd/attmap.c | 6 |
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; |
