From 3123810b98e5d8b95eb3e8d703ca4b487ffc37eb Mon Sep 17 00:00:00 2001 From: Mark Herwege Date: Fri, 22 Apr 2022 08:53:58 +0200 Subject: [PATCH] Fix null pointer exception for invalid protocolInfo. (#12632) Signed-off-by: Mark Herwege --- .../binding/upnpcontrol/internal/queue/UpnpEntryRes.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/queue/UpnpEntryRes.java b/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/queue/UpnpEntryRes.java index ee8149d0ee2..bbc91028fbd 100644 --- a/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/queue/UpnpEntryRes.java +++ b/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/queue/UpnpEntryRes.java @@ -28,9 +28,12 @@ public class UpnpEntryRes { private String importUri; private String res = ""; - public UpnpEntryRes(String protocolInfo, @Nullable Long size, @Nullable String duration, + public UpnpEntryRes(@Nullable String protocolInfo, @Nullable Long size, @Nullable String duration, @Nullable String importUri) { - this.protocolInfo = protocolInfo.trim(); + // According to the UPnP standard, res should always contain protocolInfo. Some devices do not respect this + // standard in their AVTransport implementation. To avoid null pointer exceptions, take care of this special + // case. + this.protocolInfo = (protocolInfo == null) ? "*" : protocolInfo.trim(); this.size = size; this.duration = (duration == null) ? "" : duration.trim(); this.importUri = (importUri == null) ? "" : importUri.trim();