1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Index: apps/gui/skin_engine/skin_parser.c
===================================================================
--- apps/gui/skin_engine/skin_parser.c	(リビジョン 28241)
+++ apps/gui/skin_engine/skin_parser.c	(作業コピー)
@@ -1313,10 +1313,14 @@
     {
         skin_vp->vp.font = param->data.number;
     }
-#endif    
+#endif
+    if ((unsigned) skin_vp->vp.x >= (unsigned) display->lcdwidth ||
+        skin_vp->vp.width + skin_vp->vp.x > display->lcdwidth ||
+        (unsigned) skin_vp->vp.y >= (unsigned) display->lcdheight ||
+        skin_vp->vp.height + skin_vp->vp.y > display->lcdheight)
+        return CALLBACK_ERROR;
 
     return CALLBACK_OK;
-    
 }
 
 static int skin_element_callback(struct skin_element* element, void* data)