summaryrefslogtreecommitdiff
path: root/nslcd/attmap.c
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2014-05-04 14:38:02 +0200
committerArthur de Jong <arthur@arthurdejong.org>2014-05-04 14:57:09 +0200
commit2274b41dcb6bbb2557ab0e4358a11f1d54da12d7 (patch)
tree553de2872797d8ccf0d1316889e8d7d344f64d34 /nslcd/attmap.c
parent15fc13ce31cd6455d7c64089425da795da5d51d2 (diff)
Make buffer size error logging consistent
This adds logging of most cases where a defined buffer is not large enough to hold provided data on error log level.
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;