Commit b4b94258 authored by Howard Chu's avatar Howard Chu

ITS#2348 fix from HEAD

parent 0e5870cd
......@@ -478,15 +478,9 @@ idl_insert_key(
*/
/* select the block to try inserting into *//* XXX linear search XXX */
for ( i = 0; !ID_BLOCK_NOID(idl, i) && id > ID_BLOCK_ID(idl, i); i++ )
for ( i = 0; !ID_BLOCK_NOID(idl, i) && id >= ID_BLOCK_ID(idl, i); i++ )
; /* NULL */
/* The ID already exists in the IDL, no insert needed */
if ( ID_BLOCK_ID( idl, i ) == id ) {
idl_free( idl );
return 0;
}
if ( i != 0 ) {
i--;
first = 0;
......@@ -494,6 +488,11 @@ idl_insert_key(
first = 1;
}
/* At this point the following condition must be true:
* ID_BLOCK_ID(idl, i) <= id && id < ID_BLOCK_ID(idl, i+1)
* except when i is the first or the last block.
*/
/* get the block */
cont_alloc( &k2, &key );
cont_id( &k2, ID_BLOCK_ID(idl, i) );
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment