Jinoh Kang (@iamahuman) commented about server/winstation.c:
}
+static struct object *desktop_lookup_name( struct object *obj, struct unicode_str *name,
unsigned int attr, struct object *root )
+{
- static const WCHAR object_mappingW[] = {'_','_','w','i','n','e','_','m','a','p','p','i','n','g'};
- struct desktop *desktop = (struct desktop *)obj;
- assert( obj->ops == &desktop_ops );
- if (!name)
- {
set_error( STATUS_OBJECT_TYPE_MISMATCH );
return NULL;
- }
- if (desktop->shared_mapping && name->len == sizeof(object_mappingW) &&
When can `desktop->shared_mapping` be NULL? Shall we return a different status if it was missing for some reason, since `STATUS_OBJECT_TYPE_MISMATCH` isn't exactly helpful when debugging?