Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 149634 Details for
Bug 231507
rhds72 Modification of directory entries with VLV-indexed null-value attributes results in server crash
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
diffs
cvsdiffs (text/plain), 3.59 KB, created by
Rich Megginson
on 2007-03-08 21:09:24 UTC
(
hide
)
Description:
diffs
Filename:
MIME Type:
Creator:
Rich Megginson
Created:
2007-03-08 21:09:24 UTC
Size:
3.59 KB
patch
obsolete
>Index: ldapserver/ldap/servers/slapd/back-ldbm/vlv.c >=================================================================== >RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/vlv.c,v >retrieving revision 1.6 >diff -u -8 -r1.6 vlv.c >--- ldapserver/ldap/servers/slapd/back-ldbm/vlv.c 19 Apr 2005 22:07:38 -0000 1.6 >+++ ldapserver/ldap/servers/slapd/back-ldbm/vlv.c 8 Mar 2007 21:07:39 -0000 >@@ -494,17 +494,17 @@ > * generate the same composite key, so we append the EntryID > * to ensure the uniqueness of the key. > * > * Always creates a key. Never returns NULL. > */ > static struct vlv_key * > vlv_create_key(struct vlvIndex* p, struct backentry* e) > { >- struct berval val, *lowest_value = NULL; >+ struct berval val; > unsigned char char_min = 0x00; > unsigned char char_max = 0xFF; > struct vlv_key *key= vlv_key_new(); > if(p->vlv_sortkey!=NULL) > { > /* Foreach sorted attribute... */ > int sortattr= 0; > while(p->vlv_sortkey[sortattr]!=NULL) >@@ -516,17 +516,17 @@ > * attribute then use the indexer to mangle the attr values. > * This ensures that the international characters will > * collate in the correct order. > */ > > /* xxxPINAKI */ > /* need to free some stuff! */ > Slapi_Value **cvalue = NULL; >- struct berval **value = NULL; >+ struct berval **value = NULL, *lowest_value = NULL; > int free_value= 0; > if (attr != NULL && !valueset_isempty(&attr->a_present_values)) > { > /* Sorted attribute found. */ > int totalattrs; > if (p->vlv_sortkey[sortattr]->sk_matchruleoid==NULL) > { > /* No matching rule. Syntax Plugin mangles value. */ >@@ -573,17 +573,17 @@ > /* > * This attribute is reverse sorted, so we must > * invert the attribute value so that the keys > * will be in the correct order. > */ > unsigned int i; > char *attributeValue = NULL; > /* Bug 605477 : Don't malloc 0 bytes */ >- if (attr != NULL && lowest_value->bv_len != 0) { >+ if (attr != NULL && lowest_value && lowest_value->bv_len != 0) { > attributeValue = (char*)slapi_ch_malloc(lowest_value->bv_len); > for(i=0;i<lowest_value->bv_len;i++) > { > attributeValue[i]= UCHAR_MAX - ((char*)lowest_value->bv_val)[i]; > } > val.bv_len= lowest_value->bv_len; > val.bv_val= (void*)attributeValue; > } else { >@@ -601,17 +601,17 @@ > /* > * This attribute is forward sorted, so add the > * attribute value to the end of all the keys. > */ > > /* If the forward-sorted attribute is absent or has no > * value, we need to use the value of 0xFF. > */ >- if (attr != NULL && lowest_value->bv_len > 0) { >+ if (attr != NULL && lowest_value && lowest_value->bv_len > 0) { > vlv_key_addattr(key,lowest_value); > } else { > val.bv_val = (void*)&char_max; > val.bv_len = 1; > vlv_key_addattr(key,&val); > } > } > if(sortattr==0)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 231507
: 149634 |
150065