window: Initialize rect
As far as I can see this doesn't happen in practice, but theoretically
the uninitialized values can be used if:
1. `did_placement` is TRUE
2. `flags` contains both `META_MOVE_RESIZE_RESIZE_ACTION` and
also `META_MOVE_RESIZE_MOVE_ACTION`
3. `!meta_window_is_tied_to_drag (window)` is FALSE
In that case, the `frame_rect` variable (with uninitialized values) is
passed to `unconstrained_rect`, then passed to `constrained_rect`,
then finally the (uninitialized) X and Y values are read in the
`if (did_placement)` branch.
This is probably a regression from 3047b2ce26
. I don't know if this is
the appropriate fix.
Coverity CID: #1511378
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4175>
This commit is contained in:
@ -4375,14 +4375,14 @@ adjust_size_for_tile_match (MetaWindow *window,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_window_resize_frame_with_gravity (MetaWindow *window,
|
meta_window_resize_frame_with_gravity (MetaWindow *window,
|
||||||
gboolean user_op,
|
gboolean user_op,
|
||||||
int w,
|
int w,
|
||||||
int h,
|
int h,
|
||||||
MetaGravity gravity)
|
MetaGravity gravity)
|
||||||
{
|
{
|
||||||
MetaMoveResizeFlags flags;
|
MetaMoveResizeFlags flags;
|
||||||
MtkRectangle rect;
|
MtkRectangle rect = { 0, };
|
||||||
|
|
||||||
rect.width = w;
|
rect.width = w;
|
||||||
rect.height = h;
|
rect.height = h;
|
||||||
|
Reference in New Issue
Block a user