int i;
ber_len_t inlen=0;
+ /* Add up asserted input length */
if( sub->sa_initial ) {
inlen += sub->sa_initial->bv_len;
}
if( sub->sa_any ) {
- for(i=0; sub->sa_any[i]; i++) {
- inlen += sub->sa_final->bv_len;
+ for(i=0; sub->sa_any[i] != NULL; i++) {
+ inlen += sub->sa_any[i]->bv_len;
}
}
if( sub->sa_final ) {
inlen += sub->sa_final->bv_len;
}
- if( inlen > value->bv_len ) {
+ if( inlen > left.bv_len ) {
match = 1;
goto done;
}
left.bv_val += sub->sa_initial->bv_len;
left.bv_len -= sub->sa_initial->bv_len;
inlen -= sub->sa_initial->bv_len;
+
+ if( inlen > left.bv_len ) {
+ match = 1;
+ goto done;
+ }
}
if( sub->sa_final ) {
}
left.bv_len -= sub->sa_final->bv_len;
- inlen -= sub->sa_initial->bv_len;
+ inlen -= sub->sa_final->bv_len;
+
+ if( inlen > left.bv_len ) {
+ match = 1;
+ goto done;
+ }
}
if( sub->sa_any ) {
char *p;
retry:
- if( inlen < left.bv_len ) {
- /* not enough length */
- match = 1;
- goto done;
- }
-
if( sub->sa_any[i]->bv_len == 0 ) {
continue;
}
sub->sa_any[i]->bv_val,
sub->sa_any[i]->bv_len );
-
if( match != 0 ) {
goto retry;
}
left.bv_val += sub->sa_any[i]->bv_len;
left.bv_len -= sub->sa_any[i]->bv_len;
+ inlen -= sub->sa_any[i]->bv_len;
+
+ if( inlen > left.bv_len ) {
+ /* not enough length */
+ match = 1;
+ goto done;
+ }
}
}
int i;
ber_len_t inlen=0;
+ /* Add up asserted input length */
if( sub->sa_initial ) {
inlen += sub->sa_initial->bv_len;
}
if( sub->sa_any ) {
- for(i=0; sub->sa_any[i]; i++) {
+ for(i=0; sub->sa_any[i] != NULL; i++) {
inlen += sub->sa_any[i]->bv_len;
}
}
inlen += sub->sa_final->bv_len;
}
- if( inlen > value->bv_len ) {
+ if( inlen > left.bv_len ) {
match = 1;
goto done;
}
left.bv_val += sub->sa_initial->bv_len;
left.bv_len -= sub->sa_initial->bv_len;
+ inlen -= sub->sa_initial->bv_len;
+
+ if( inlen > left.bv_len ) {
+ match = 1;
+ goto done;
+ }
}
if( sub->sa_final ) {
}
left.bv_len -= sub->sa_final->bv_len;
+ inlen -= sub->sa_final->bv_len;
+
+ if( inlen > left.bv_len ) {
+ match = 1;
+ goto done;
+ }
}
if( sub->sa_any ) {
char *p;
retry:
- if( inlen < left.bv_len ) {
- /* not enough length */
- match = 1;
- goto done;
- }
-
if( sub->sa_any[i]->bv_len == 0 ) {
continue;
}
sub->sa_any[i]->bv_val,
sub->sa_any[i]->bv_len );
-
if( match != 0 ) {
goto retry;
}
left.bv_val += sub->sa_any[i]->bv_len;
left.bv_len -= sub->sa_any[i]->bv_len;
+ inlen -= sub->sa_any[i]->bv_len;
+
+ if( inlen > left.bv_len ) {
+ /* not enough length */
+ match = 1;
+ goto done;
+ }
}
}