diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2014-05-04 14:38:02 +0200 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2014-05-04 14:57:09 +0200 |
commit | 2274b41dcb6bbb2557ab0e4358a11f1d54da12d7 (patch) | |
tree | 553de2872797d8ccf0d1316889e8d7d344f64d34 /nslcd/attmap.c | |
parent | 15fc13ce31cd6455d7c64089425da795da5d51d2 (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.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; |