From 636b0f4fa9eac988c29fb70eb9de8bea9a566161 Mon Sep 17 00:00:00 2001 From: Mark Reynolds Date: Mar 22 2017 14:22:59 +0000 Subject: Issue 49188 - retrocl can crash server at shutdown Description: We do not calloc enough elements when processing nsslapd-attribute from the retrocl plugin configuration. This causes invalid memory to be freed at shutdown(via slapi_ch_array_free). https://pagure.io/389-ds-base/issue/49188 Reviewed by: mreynolds(one line commit rule) (cherry picked from commit b2f76abe10bfbe621308410a1e7f41287cf2ff9e) --- diff --git a/ldap/servers/plugins/retrocl/retrocl.c b/ldap/servers/plugins/retrocl/retrocl.c index 4bcbb38..f239e55 100644 --- a/ldap/servers/plugins/retrocl/retrocl.c +++ b/ldap/servers/plugins/retrocl/retrocl.c @@ -468,8 +468,8 @@ static int retrocl_start (Slapi_PBlock *pb) retrocl_nattributes = n; - retrocl_attributes = (char **)slapi_ch_calloc(n, sizeof(char *)); - retrocl_aliases = (char **)slapi_ch_calloc(n, sizeof(char *)); + retrocl_attributes = (char **)slapi_ch_calloc(n + 1, sizeof(char *)); + retrocl_aliases = (char **)slapi_ch_calloc(n + 1, sizeof(char *)); slapi_log_error(SLAPI_LOG_PLUGIN, RETROCL_PLUGIN_NAME, "Attributes:\n");