[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#8001) Segmentation Fault in ldap_sync_*
- To: openldap-its@OpenLDAP.org
- Subject: Re: (ITS#8001) Segmentation Fault in ldap_sync_*
- From: hyc@symas.com
- Date: Wed, 10 Dec 2014 22:59:19 +0000
- Auto-submitted: auto-generated (OpenLDAP-ITS)
alexey@kireyev.name wrote:
> Full_Name: Alexey Kireyev
> Version: 2.4.40
> OS: Ubuntu 14.04
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (98.118.88.65)
>
>
> If not all fields in ldap_sync_t manually set after ldap_sync_initialize, then
> any following calls might (and most probably will) ends in segmentation fault.
>
> Reason: ldap_sync_initialize doesn't zeroed newly allocated structure (it does
> it for pre-existing, though, which is wrong by itself in my view)
Thanks, you're right. fixed in master.
>
>
>
>
> --------------------------------------------------------------------------------------------------------
>
>
>>From 01149a2eba9f463261d88e5a1ce43e19c4a323cf Mon Sep 17 00:00:00 2001
> From: Alexey Kireyev <alexey@kireyev.name>
> Date: Wed, 10 Dec 2014 14:37:16 -0500
> Subject: [PATCH] Newly allocated ldap_sync_t has to be zero out
>
> ---
> libraries/libldap/ldap_sync.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/libraries/libldap/ldap_sync.c b/libraries/libldap/ldap_sync.c
> index e573c3b..e79153f 100644
> --- a/libraries/libldap/ldap_sync.c
> +++ b/libraries/libldap/ldap_sync.c
> @@ -64,11 +64,10 @@ ldap_sync_initialize( ldap_sync_t *ls_in )D%D
> if ( ls == NULL ) {
> return NULL;
> }
> -
> - } else {
> - memset( ls, 0, sizeof( ldap_sync_t ) );
> }
>
> + memset( ls, 0, sizeof( ldap_sync_t ) );
> +
> ls->ls_scope = LDAP_SCOPE_SUBTREE;
> ls->ls_timeout = -1;
>
>
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/