Explorar o código

BETA: NPE vulnerability in macro presets.

Reported by: Pandragon
Zoey76 %!s(int64=11) %!d(string=hai) anos
pai
achega
7ae5d34b87

+ 12 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/InitialShortcutData.java

@@ -286,7 +286,12 @@ public final class InitialShortcutData extends DocumentParser
 				}
 				case MACRO:
 				{
-					player.registerMacro(_macroPresets.get(shortcutId));
+					final Macro macro = _macroPresets.get(shortcutId);
+					if (macro == null)
+					{
+						continue;
+					}
+					player.registerMacro(macro);
 					break;
 				}
 			}
@@ -325,7 +330,12 @@ public final class InitialShortcutData extends DocumentParser
 					}
 					case MACRO:
 					{
-						player.registerMacro(_macroPresets.get(shortcut.getId()));
+						final Macro macro = _macroPresets.get(shortcutId);
+						if (macro == null)
+						{
+							continue;
+						}
+						player.registerMacro(macro);
 						break;
 					}
 				}