Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2:Test
dhcp
dhcp-4.2.4-ldap-0005-memleak-fix-in-ldap_read_c...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File dhcp-4.2.4-ldap-0005-memleak-fix-in-ldap_read_config.patch of Package dhcp
From 98c770187f29389e94873712e13108cc5d44cf89 Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski <mt@suse.de> Date: Mon, 10 Dec 2012 09:56:00 +0100 References: bnc#788787 Upstream: sent [ISC-Bugs #32217] Subject: [PATCH] Fixed memory leaks in ldap read config error handling Fixed to free ldap results before bailing out when the dhcpServer object or it's dhcpService references can't be parsed / resolved. --- server/ldap.c | 15 +++++++++++---- 1 Datei geändert, 11 Zeilen hinzugefügt(+), 4 Zeilen entfernt(-) diff --git a/server/ldap.c b/server/ldap.c index fb7b504..2f6e1c6 100644 --- a/server/ldap.c +++ b/server/ldap.c @@ -475,11 +475,14 @@ ldap_parse_host (struct ldap_config_stack *item, struct parse *cfile) x_parser_strcat (cfile, tempbv[0]->bv_val); x_parser_strcat (cfile, " {\n"); - if (hwaddr != NULL && hwaddr[0] != NULL) + if (hwaddr != NULL) { - x_parser_strcat (cfile, "hardware "); - x_parser_strcat (cfile, hwaddr[0]->bv_val); - x_parser_strcat (cfile, ";\n"); + if (hwaddr[0] != NULL) + { + x_parser_strcat (cfile, "hardware "); + x_parser_strcat (cfile, hwaddr[0]->bv_val); + x_parser_strcat (cfile, ";\n"); + } ldap_value_free_len (hwaddr); } @@ -2090,6 +2093,8 @@ ldap_read_config (void) res = ldap_parse_entry_options(hostent, cfile, NULL); if (res != ISC_R_SUCCESS) { + ldap_value_free_len (tempbv); + ldap_msgfree (hostres); ldap_memfree (hostdn); ldap_stop(); x_parser_free(&cfile); @@ -2102,6 +2107,8 @@ ldap_read_config (void) if (res != ISC_R_SUCCESS) { log_error ("LDAP: cannot parse dhcpServer entry '%s'", hostdn); + ldap_value_free_len (tempbv); + ldap_msgfree (hostres); ldap_memfree (hostdn); ldap_stop(); x_parser_free(&cfile); -- 1.7.10.4
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor