Bläddra i källkod

Bug 679978 - modifying attr value crashes the server, which is supposed to
be indexed as substring type, but has octetstring syntax

https://bugzilla.redhat.com/show_bug.cgi?id=679978

Description: When indexing, index_addordel_values_ext_sv calls a helper
function valuearray_minus_valuearray in index.c. There is a corner case
that could pass NULL array arguments to valuearray_minus_valuearray.
In valuearray_minus_valuearray, the array's elements were accessed w/o
checking the array was NULL or not. This patch is adding the check.

Noriko Hosoi 14 år sedan
förälder
incheckning
6d4566ee11
1 ändrade filer med 2 tillägg och 2 borttagningar
  1. 2 2
      ldap/servers/slapd/back-ldbm/index.c

+ 2 - 2
ldap/servers/slapd/back-ldbm/index.c

@@ -2152,10 +2152,10 @@ valuearray_minus_valuearray(
     }
 
     /* determine length of a */
-    for (acnt = 0; a[acnt] != NULL; acnt++);
+    for (acnt = 0; a && a[acnt] != NULL; acnt++);
 
     /* determine length of b */
-    for (bcnt = 0; b[bcnt] != NULL; bcnt++);
+    for (bcnt = 0; b && b[bcnt] != NULL; bcnt++);
 
     /* allocate return array as big as a */
     c = (Slapi_Value**)slapi_ch_calloc(acnt+1, sizeof(Slapi_Value*));