Fix refcount leak and return correct error in create_named_object.

This commit is contained in:
Vitaliy Margolen 2005-09-28 12:04:51 +00:00 committed by Alexandre Julliard
parent 8e74308a10
commit 9a7b41ad53
1 changed files with 5 additions and 5 deletions

View File

@ -166,13 +166,13 @@ void *create_named_object( struct namespace *namespace, const struct object_ops
if ((obj = find_object( namespace, name, len )))
{
if (obj->ops == ops)
if (obj->ops != ops)
{
set_error( STATUS_OBJECT_NAME_COLLISION );
return obj;
release_object( obj );
obj = NULL;
}
set_error( STATUS_OBJECT_TYPE_MISMATCH );
return NULL;
set_error( STATUS_OBJECT_NAME_COLLISION );
return obj;
}
if (!(name_ptr = alloc_name( name, len ))) return NULL;
if ((obj = alloc_object( ops )))