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?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/3103#note_59020