diff --git a/libraries/liblber/io.c b/libraries/liblber/io.c index 8b08e38587..40b5acf6bf 100644 --- a/libraries/liblber/io.c +++ b/libraries/liblber/io.c @@ -390,16 +390,15 @@ int ber_flatten2( return -1; } - /* unmatched "{" and "}" */ - if ( ber->ber_sos_ptr != NULL ) { - return -1; - } - if ( ber == NULL ) { /* ber is null, create an empty berval */ bv->bv_val = NULL; bv->bv_len = 0; + } else if ( ber->ber_sos_ptr != NULL ) { + /* unmatched "{" and "}" */ + return -1; + } else { /* copy the berval */ ber_len_t len = ber_pvt_ber_write( ber );