Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f6b503a8 authored by Santiago Etchebehere's avatar Santiago Etchebehere
Browse files

Disallow too large display padding for wallpaper

To avoid a potential vulnerability, don't allow padding
with width or height larger than the maximum screen width.

Bug: 204316511
Test: added WallpaperManagerTest
Change-Id: I471fb3546bdd2f9aa07dd091fe841b2bc5c484d6
parent eb032a1f
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -2215,6 +2215,19 @@ public class WallpaperManagerService extends IWallpaperManager.Stub
                throw new IllegalArgumentException("padding must be positive: " + padding);
            }

            int maxSize = getMaximumSizeDimension(displayId);

            final int paddingWidth = padding.left + padding.right;
            final int paddingHeight = padding.top + padding.bottom;
            if (paddingWidth > maxSize) {
                throw new IllegalArgumentException("padding width " + paddingWidth
                        + " exceeds max width " + maxSize);
            }
            if (paddingHeight > maxSize) {
                throw new IllegalArgumentException("padding height " + paddingHeight
                        + " exceeds max height " + maxSize);
            }

            final DisplayData wpdData = getDisplayDataOrCreate(displayId);
            if (!padding.equals(wpdData.mPadding)) {
                wpdData.mPadding.set(padding);