mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-02-11 06:43:09 -05:00
ITS#9876 Some more leaks plugged
This commit is contained in:
parent
207604c0b5
commit
c07e961d40
2 changed files with 8 additions and 14 deletions
|
|
@ -1866,12 +1866,13 @@ again:
|
|||
if ( ldapsync && sync_slimit != -1 &&
|
||||
nresponses_psearch >= sync_slimit ) {
|
||||
BerElement *msgidber = NULL;
|
||||
struct berval *msgidvalp = NULL;
|
||||
struct berval msgidval;
|
||||
msgidber = ber_alloc_t(LBER_USE_DER);
|
||||
ber_printf(msgidber, "{i}", msgid);
|
||||
ber_flatten(msgidber, &msgidvalp);
|
||||
ber_flatten2( msgidber, &msgidval, 0 );
|
||||
ldap_extended_operation(ld, LDAP_EXOP_CANCEL,
|
||||
msgidvalp, NULL, NULL, &cancel_msgid);
|
||||
&msgidval, NULL, NULL, &cancel_msgid);
|
||||
ber_free( msgidber, 1 );
|
||||
nresponses_psearch = -1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -160,7 +160,8 @@ ldap_parse_derefresponse_control(
|
|||
LDAPControl *ctrl,
|
||||
LDAPDerefRes **drp2 )
|
||||
{
|
||||
BerElement *ber;
|
||||
BerElementBuffer berbuf;
|
||||
BerElement *ber = (BerElement *)&berbuf;
|
||||
ber_tag_t tag;
|
||||
ber_len_t len;
|
||||
char *last;
|
||||
|
|
@ -172,13 +173,8 @@ ldap_parse_derefresponse_control(
|
|||
return LDAP_PARAM_ERROR;
|
||||
}
|
||||
|
||||
/* Create a BerElement from the berval returned in the control. */
|
||||
ber = ber_init( &ctrl->ldctl_value );
|
||||
|
||||
if ( ber == NULL ) {
|
||||
ld->ld_errno = LDAP_NO_MEMORY;
|
||||
return ld->ld_errno;
|
||||
}
|
||||
/* Set up a BerElement from the berval returned in the control. */
|
||||
ber_init2( ber, &ctrl->ldctl_value, 0 );
|
||||
|
||||
/* Extract the count and cookie from the control. */
|
||||
drp = &drhead;
|
||||
|
|
@ -193,7 +189,6 @@ ldap_parse_derefresponse_control(
|
|||
dr = LDAP_CALLOC( 1, sizeof(LDAPDerefRes) );
|
||||
if ( dr == NULL ) {
|
||||
ldap_derefresponse_free( drhead );
|
||||
ber_free( ber, 1 );
|
||||
*drp2 = NULL;
|
||||
ld->ld_errno = LDAP_NO_MEMORY;
|
||||
return ld->ld_errno;
|
||||
|
|
@ -244,8 +239,6 @@ ldap_parse_derefresponse_control(
|
|||
tag = 0;
|
||||
|
||||
done:;
|
||||
ber_free( ber, 1 );
|
||||
|
||||
if ( tag == LBER_ERROR ) {
|
||||
if ( drhead != NULL ) {
|
||||
ldap_derefresponse_free( drhead );
|
||||
|
|
|
|||
Loading…
Reference in a new issue