瀏覽代碼

LibGfx: assert Bitmap::set_pixel does not write out of bounds

Peter Nelson 4 年之前
父節點
當前提交
23c4f1a3d4
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      Libraries/LibGfx/Bitmap.h

+ 2 - 0
Libraries/LibGfx/Bitmap.h

@@ -300,11 +300,13 @@ inline Color Bitmap::get_pixel(int x, int y) const
 template<>
 template<>
 inline void Bitmap::set_pixel<StorageFormat::RGB32>(int x, int y, Color color)
 inline void Bitmap::set_pixel<StorageFormat::RGB32>(int x, int y, Color color)
 {
 {
+    ASSERT(rect().contains(x, y));
     scanline(y)[x] = color.value();
     scanline(y)[x] = color.value();
 }
 }
 template<>
 template<>
 inline void Bitmap::set_pixel<StorageFormat::RGBA32>(int x, int y, Color color)
 inline void Bitmap::set_pixel<StorageFormat::RGBA32>(int x, int y, Color color)
 {
 {
+    ASSERT(rect().contains(x, y));
     scanline(y)[x] = color.value(); // drop alpha
     scanline(y)[x] = color.value(); // drop alpha
 }
 }
 inline void Bitmap::set_pixel(int x, int y, Color color)
 inline void Bitmap::set_pixel(int x, int y, Color color)