summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancesco Fusco <ffusco@redhat.com>2013-12-19 18:16:24 +0100
committerBen Pfaff <blp@nicira.com>2014-01-13 13:32:56 -0800
commit4a7c64a72205b597d54505009a1bb186889a6c6b (patch)
treeb0f0d2323b76d0fa3f861ae4bb6fa663f21d5654
parent7ebbd9d15d11d4f08ce3f66061a47619fe1e8ddf (diff)
downloadopenvswitch-4a7c64a72205b597d54505009a1bb186889a6c6b.tar.gz
sFlow: clear the padding
putString pads the string to the 4-byte boundary without clearing the "padded" memory. This patch simply set the padding to zero. Signed-off-by: Francesco Fusco <ffusco@redhat.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
-rw-r--r--lib/sflow_receiver.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/sflow_receiver.c b/lib/sflow_receiver.c
index 3e5a67a06..e6fc9a7f9 100644
--- a/lib/sflow_receiver.c
+++ b/lib/sflow_receiver.c
@@ -198,6 +198,10 @@ inline static void putString(SFLReceiver *receiver, SFLString *s)
putNet32(receiver, s->len);
memcpy(receiver->sampleCollector.datap, s->str, s->len);
receiver->sampleCollector.datap += (s->len + 3) / 4; /* pad to 4-byte boundary */
+ if ((s->len % 4) != 0){
+ u_int8_t padding = 4 - (s->len % 4);
+ memset(((u_int8_t*)receiver->sampleCollector.datap)-padding, 0, padding);
+ }
}
inline static u_int32_t stringEncodingLength(SFLString *s) {