Browse Source

- Fixed a map-server crash when script variable storage reference is NULL (bugreport:5666)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16002 54d463be-8e91-2dee-dedb-b68131a5f0ec
epoque11 13 năm trước cách đây
mục cha
commit
7c11d35955
1 tập tin đã thay đổi với 8 bổ sung2 xóa
  1. 8 2
      src/map/script.c

+ 8 - 2
src/map/script.c

@@ -2537,7 +2537,10 @@ void get_val(struct script_state* st, struct script_data* data)
 					data->ref      ? *data->ref:
 					name[1] == '@' ?  st->stack->var_function:// instance/scope variable
 					                  st->script->script_vars;// npc variable
-				data->u.str = (char*)idb_get(n,reference_getuid(data));
+				if( n )
+					data->u.str = (char*)idb_get(n,reference_getuid(data));
+				else
+					data->u.str = NULL;
 			}
 			break;
 		case '\'':
@@ -2599,7 +2602,10 @@ void get_val(struct script_state* st, struct script_data* data)
 					data->ref      ? *data->ref:
 					name[1] == '@' ?  st->stack->var_function:// instance/scope variable
 					                  st->script->script_vars;// npc variable
-				data->u.num = (int)idb_iget(n,reference_getuid(data));
+				if( n )
+					data->u.num = (int)idb_iget(n,reference_getuid(data));
+				else
+					data->u.num = 0;
 			}
 			break;
 		case '\'':