diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js index 10435c5b8..73ca773a9 100644 --- a/js/ui/screenshot.js +++ b/js/ui/screenshot.js @@ -79,7 +79,9 @@ const ScreenshotService = new Lang.Class({ ScreenshotAreaAsync : function (params, invocation) { let [x, y, width, height, flash, filename, callback] = params; - if (height <= 0 || width <= 0) { + if (x < 0 || y < 0 || + width <= 0 || height <= 0 || + x + width > global.screen_width || y + height > global.screen_height) { invocation.return_error_literal(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED, "Invalid params"); return;