From 9d21df8d15df7016ff2c3d17b245451d93fbfce5 Mon Sep 17 00:00:00 2001 From: Ben Steffensmeier Date: Mon, 10 Feb 2014 17:39:32 -0600 Subject: [PATCH] Issue #2672 Allow One extra null byte in RemoteRequestRouteWrapper. Former-commit-id: 6d4e5d79dee41f6ed9dfb821a1f32235d70e815f [formerly 3bc210a1f1cd4cdfe6e5b257944dbddaf8b452d8] [formerly 3d08979eeec11322a5f4f1adce425df037e2c659] [formerly 6d4e5d79dee41f6ed9dfb821a1f32235d70e815f [formerly 3bc210a1f1cd4cdfe6e5b257944dbddaf8b452d8] [formerly 3d08979eeec11322a5f4f1adce425df037e2c659] [formerly 40bc9df42043ea8dc303251cf7cd80a5455047bb [formerly 3d08979eeec11322a5f4f1adce425df037e2c659 [formerly 7463bf7c3efbdf8eb184f24bfc9c6a12c57d5006]]]] Former-commit-id: 40bc9df42043ea8dc303251cf7cd80a5455047bb Former-commit-id: aa9542cf3f5b1b1324a8ea131b0412eee0eb05c2 [formerly 01c4ce8e2981e3fc81877464035a7d61239edf56] [formerly 889387acc295602e9c38f3f464ee1b9a2ae3734c [formerly a0227d2c4edba0c3f9379a3a99fca8b3c5178fee]] Former-commit-id: 5457b68aea0e7d4cfc4696bf658becb496aa5176 [formerly 38c9773f38de1262c83588c396fc9487a81962af] Former-commit-id: cf1d48f888ee3b7bbc68d8c33c19a07d3a29a282 --- .../uf/edex/auth/RemoteRequestRouteWrapper.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/edexOsgi/com.raytheon.uf.edex.auth/src/com/raytheon/uf/edex/auth/RemoteRequestRouteWrapper.java b/edexOsgi/com.raytheon.uf.edex.auth/src/com/raytheon/uf/edex/auth/RemoteRequestRouteWrapper.java index 69508e55b3..8b9ef16e7d 100644 --- a/edexOsgi/com.raytheon.uf.edex.auth/src/com/raytheon/uf/edex/auth/RemoteRequestRouteWrapper.java +++ b/edexOsgi/com.raytheon.uf.edex.auth/src/com/raytheon/uf/edex/auth/RemoteRequestRouteWrapper.java @@ -67,7 +67,18 @@ public class RemoteRequestRouteWrapper { Object obj = SerializationUtil.transformFromThrift(Object.class, data); int remaining = data.available(); - if (remaining > 0) { + if (remaining == 1) { + int tail = data.read(); + /* + * When http proxies are being used there is a single null + * character at the end of the message, no need to panic. + */ + if (tail != 0x00) { + throw new IllegalStateException( + "Unexpected byte remaining after deserialization: " + + tail); + } + } else if (remaining > 0) { throw new IllegalStateException(remaining + " unexpected bytes remaining after deserialization"); }