screenshot: Extend ScreenshotArea parameter validation
We currently only ensure that width and height are positive, so it is still possible to pass in values that don't make any sense at all (which may even result in a crash when exceeding limits imposed by X11). There is nothing to screenshot outside the actual screen area, so restrict the parameters to that. https://bugzilla.gnome.org/show_bug.cgi?id=699752
This commit is contained in:
parent
4f7014b2d5
commit
f9f5004909
@ -79,7 +79,9 @@ const ScreenshotService = new Lang.Class({
|
|||||||
|
|
||||||
ScreenshotAreaAsync : function (params, invocation) {
|
ScreenshotAreaAsync : function (params, invocation) {
|
||||||
let [x, y, width, height, flash, filename, callback] = params;
|
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,
|
invocation.return_error_literal(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED,
|
||||||
"Invalid params");
|
"Invalid params");
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user