Kernel: Refuse to set overflowy resolution values in BXVGADevice

This commit is contained in:
Andreas Kling 2020-04-15 17:15:24 +02:00
commit fa40b725f9
Notes: sideshowbarker 2024-07-19 07:34:11 +09:00

View file

@ -24,6 +24,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <AK/Checked.h>
#include <Kernel/Devices/BXVGADevice.h>
#include <Kernel/PCI/Access.h>
#include <Kernel/Process.h>
@ -124,6 +125,9 @@ bool BXVGADevice::test_resolution(int width, int height)
}
bool BXVGADevice::set_resolution(int width, int height)
{
if (Checked<int>::multiplication_would_overflow(width, height, sizeof(u32)))
return false;
if (!test_resolution(width, height))
return false;