[constraints] Avoid overflow when window maximum size hint is set to INT_MAX

When calculating maximum permissible size of our frame window, we need to
avoid an overflow if the application set its max size hint to INT_MAX.

http://bugzilla.gnome.org/show_bug.cgi?id=590627
This commit is contained in:
Xu Li 2009-08-03 14:13:34 +01:00 committed by Tomas Frydrych
parent 2222cb8fbf
commit 2f63d321d1

View File

@ -700,8 +700,17 @@ get_size_limits (const MetaWindow *window,
min_size->width += fw;
min_size->height += fh;
/* Do check to avoid overflow (e.g. max_size->width & max_size->height
* may be set to G_MAXINT by meta_set_normal_hints()).
*/
if (max_size->width < (G_MAXINT - fw))
max_size->width += fw;
else
max_size->width = G_MAXINT;
if (max_size->height < (G_MAXINT - fh))
max_size->height += fh;
else
max_size->height = G_MAXINT;
}
}