From 3ed612c8f99a728aed1de25c1d819d097b1e3410 Mon Sep 17 00:00:00 2001 From: renczesstefan Date: Wed, 3 Sep 2025 12:45:26 +0200 Subject: [PATCH] Improve error handling in Serializer's deserialize method Added validation to handle null or empty byte arrays gracefully, returning null instead of throwing an exception. Replaced the exception throw with error logging to provide better debugging information without interrupting the application flow. --- .../application/engine/objects/utils/Serializer.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/nae-object-library/src/main/java/com/netgrif/application/engine/objects/utils/Serializer.java b/nae-object-library/src/main/java/com/netgrif/application/engine/objects/utils/Serializer.java index 85e8de46e75..13bdf034b07 100644 --- a/nae-object-library/src/main/java/com/netgrif/application/engine/objects/utils/Serializer.java +++ b/nae-object-library/src/main/java/com/netgrif/application/engine/objects/utils/Serializer.java @@ -1,9 +1,14 @@ package com.netgrif.application.engine.objects.utils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.*; public final class Serializer { + private static final Logger logger = LoggerFactory.getLogger(Serializer.class); + /** * Method deserializes bytes into object * @@ -12,11 +17,15 @@ public final class Serializer { * @return Deserialized object * */ public static Object deserialize(byte[] bytes) { + if (bytes == null || bytes.length == 0) { + return null; + } try (ByteArrayInputStream bis = new ByteArrayInputStream(bytes); ObjectInputStream in = new ObjectInputStream(bis)) { return in.readObject(); } catch (IOException | ClassNotFoundException e) { - throw new RuntimeException(e); + logger.error("Failed to deserialize object", e); + return null; } }