From c95798be167df7ccf182ce29ed7ddc89ac156576 Mon Sep 17 00:00:00 2001 From: Daniel Gray Date: Fri, 22 Jan 2021 11:01:12 +0100 Subject: [PATCH] Avoid NullPointerException when customChange has no "class" attribute --- .../java/liquibase/change/custom/CustomChangeWrapper.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/liquibase-core/src/main/java/liquibase/change/custom/CustomChangeWrapper.java b/liquibase-core/src/main/java/liquibase/change/custom/CustomChangeWrapper.java index 8692d8bf721..196ede8d865 100644 --- a/liquibase-core/src/main/java/liquibase/change/custom/CustomChangeWrapper.java +++ b/liquibase-core/src/main/java/liquibase/change/custom/CustomChangeWrapper.java @@ -305,7 +305,11 @@ public String getSerializedObjectNamespace() { public void load(ParsedNode parsedNode, ResourceAccessor resourceAccessor) throws ParsedNodeException { setClassLoader(resourceAccessor.toClassLoader()); try { - setClass(parsedNode.getChildValue(null, "class", String.class)); + String classNameValue = parsedNode.getChildValue(null, "class", String.class); + if (classNameValue == null) { + throw new ParsedNodeException("Custom change node has no 'class' attribute!"); + } + setClass(classNameValue); } catch (CustomChangeException e) { throw new ParsedNodeException(e); }