From: Kurt Zeilenga Date: Tue, 4 Dec 2001 06:10:10 +0000 (+0000) Subject: Slight memfree cleanup X-Git-Tag: LDBM_PRE_GIANT_RWLOCK~794 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=4041ef05bfbb9dc86dae17484d288fd6b9b8a28f;p=openldap Slight memfree cleanup --- diff --git a/libraries/liblber/decode.c b/libraries/liblber/decode.c index b797b43084..bd994cfef0 100644 --- a/libraries/liblber/decode.c +++ b/libraries/liblber/decode.c @@ -596,7 +596,8 @@ ber_scanf ( BerElement *ber, (j + 2) * sizeof(char *) ); if( *sss == NULL ) { - LBER_FREE( save ); + save[j] = NULL; + ber_memvfree( save ); rc = LBER_DEFAULT; goto breakout; } @@ -604,8 +605,7 @@ ber_scanf ( BerElement *ber, rc = ber_get_stringa( ber, &((*sss)[j]) ); j++; } - if ( j > 0 ) - (*sss)[j] = NULL; + if ( j > 0 ) (*sss)[j] = NULL; break; case 'V': /* sequence of strings + lengths */ @@ -622,7 +622,8 @@ ber_scanf ( BerElement *ber, (j + 2) * sizeof(struct berval *) ); if( *bv == NULL ) { - LBER_FREE( save ); + save[j] = NULL; + ber_bvecfree( save ); rc = LBER_DEFAULT; goto breakout; } @@ -630,8 +631,7 @@ ber_scanf ( BerElement *ber, rc = ber_get_stringal( ber, &((*bv)[j]) ); j++; } - if ( j > 0 ) - (*bv)[j] = NULL; + if ( j > 0 ) (*bv)[j] = NULL; break; case 'x': /* skip the next element - whatever it is */ @@ -744,11 +744,7 @@ breakout: case 'v': /* sequence of strings */ sss = va_arg( ap, char *** ); if ( *sss ) { - for (j = 0; (*sss)[j]; j++) { - LBER_FREE( (*sss)[j] ); - (*sss)[j] = NULL; - } - LBER_FREE( *sss ); + ber_memvfree( *sss ); *sss = NULL; } break;