From c48a77361a0a859e41b18726a6a3c94063ca2057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yoann=20Rodi=C3=A8re?= Date: Wed, 8 Oct 2025 16:55:37 +0200 Subject: [PATCH] HHH-19848 Avoid NPE in MySQLLegacyDialect --- .../community/dialect/MySQLLegacyDialect.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MySQLLegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MySQLLegacyDialect.java index 130f86be7bef..10fd6b11e46a 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MySQLLegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/MySQLLegacyDialect.java @@ -191,16 +191,18 @@ public MySQLLegacyDialect(DialectResolutionInfo info) { protected static DatabaseVersion createVersion(DialectResolutionInfo info) { final String versionString = info.getDatabaseVersion(); - final String[] components = StringHelper.split( ".", versionString ); - if ( components.length >= 3 ) { - try { - final int majorVersion = Integer.parseInt( components[0] ); - final int minorVersion = Integer.parseInt( components[1] ); - final int patchLevel = Integer.parseInt( components[2] ); - return DatabaseVersion.make( majorVersion, minorVersion, patchLevel ); - } - catch (NumberFormatException ex) { - // Ignore + if ( versionString != null ) { + final String[] components = StringHelper.split( ".", versionString ); + if ( components.length >= 3 ) { + try { + final int majorVersion = Integer.parseInt( components[0] ); + final int minorVersion = Integer.parseInt( components[1] ); + final int patchLevel = Integer.parseInt( components[2] ); + return DatabaseVersion.make( majorVersion, minorVersion, patchLevel ); + } + catch (NumberFormatException ex) { + // Ignore + } } } return info.makeCopyOrDefault( DEFAULT_VERSION );