[ovs-dev] [PATCH] sFlow: clear the padding
Francesco Fusco
ffusco at redhat.com
Thu Dec 19 17:16:24 UTC 2013
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 at redhat.com>
---
lib/sflow_receiver.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/lib/sflow_receiver.c b/lib/sflow_receiver.c
index 3e5a67a..e6fc9a7 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) {
--
1.8.3.1
More information about the dev
mailing list