فهرست منبع

Add check to internal methods to prevent crash

(cherry picked from commit 448295cd5183dc8cc168651aa69f5569538dce54)
Haoyu Qiu 4 سال پیش
والد
کامیت
4641e6b170
2فایلهای تغییر یافته به همراه2 افزوده شده و 1 حذف شده
  1. 1 0
      scene/2d/tile_map.cpp
  2. 1 1
      scene/3d/proximity_group.cpp

+ 1 - 0
scene/2d/tile_map.cpp

@@ -1217,6 +1217,7 @@ void TileMap::_set_tile_data(const PoolVector<int> &p_data) {
 	PoolVector<int>::Read r = p_data.read();
 
 	int offset = (format == FORMAT_2) ? 3 : 2;
+	ERR_FAIL_COND_MSG(c % offset != 0, "Corrupted tile data.");
 
 	clear();
 	for (int i = 0; i < c; i += offset) {

+ 1 - 1
scene/3d/proximity_group.cpp

@@ -140,7 +140,7 @@ void ProximityGroup::broadcast(String p_method, Variant p_parameters) {
 void ProximityGroup::_proximity_group_broadcast(String p_method, Variant p_parameters) {
 
 	if (dispatch_mode == MODE_PROXY) {
-
+		ERR_FAIL_COND(!is_inside_tree());
 		get_parent()->call(p_method, p_parameters);
 	} else {