Jinoh Kang (@iamahuman) commented about server/mapping.c:
+ release_object( object ); + return mapping; +} + /* open a handle to a mapping */ DECL_HANDLER(open_mapping) { struct unicode_str name = get_req_unicode_str(); + struct mapping *mapping; + + if ((mapping = open_object_mapping( req->rootdir, &name ))) + { + reply->handle = alloc_handle( current->process, &mapping->obj, req->access, req->attributes ); + release_object( mapping ); + return; + } `open_object_mapping` might have set an error, which might be returned by this function unmodified.
```suggestion:-5+0 if ((mapping = open_object_mapping( req->rootdir, &name ))) { reply->handle = alloc_handle( current->process, &mapping->obj, req->access, req->attributes ); release_object( mapping ); return; } clear_error(); ``` -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3103#note_59387