Improve NormalizedNodeInputStreamReader defensiveness 10/81010/1
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 15 Mar 2019 11:20:24 +0000 (12:20 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 19 Mar 2019 14:53:40 +0000 (15:53 +0100)
commit6d0c1f1a5be5f6ef99b33074df35ebfb1903d8d3
tree6fb1862210891282b564b3c3bb8a8303669626e1
parentfe6e0d5cf3487a7afda84fd78946e467824fe30f
Improve NormalizedNodeInputStreamReader defensiveness

If face of corrupted streams, for example due to CONTROLLER-1752,
we can end up interpreting unknown bytes as null strings, potentially
corrupting data.

This patch uses explicit type dispatch and detects wrong string
value types, as well as rejecting unknown string value codes.

Change-Id: Ic2e7887bc1d32a1dc7a364d1bff195752edd762d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit bfed3c0a9e208b7fd45d6a853f9c63ef95fde00e)
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeInputStreamReader.java