![Alexander Sverdlin](/assets/img/avatar_default.png)
Mini SNMPd is a minimal implementation targeted at small or embedded UNIX systems with limited resources. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> [Thomas: add hash file.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
32 lines
814 B
Diff
32 lines
814 B
Diff
From 949ae648bf7c654b8fae607a0988bfa672607156 Mon Sep 17 00:00:00 2001
|
|
From: Patrick Rauscher <prauscher@prauscher.de>
|
|
Date: Fri, 18 Aug 2017 17:31:23 +0200
|
|
Subject: [PATCH] Prepend zero-byte before unsigned integers
|
|
|
|
fixes #8
|
|
|
|
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
|
|
---
|
|
mib.c | 5 +++++
|
|
1 file changed, 5 insertions(+)
|
|
|
|
diff --git a/mib.c b/mib.c
|
|
index 7d2e513..a9ffbe2 100644
|
|
--- a/mib.c
|
|
+++ b/mib.c
|
|
@@ -207,6 +207,11 @@ static int encode_unsigned(data_t *data, int type, unsigned int ticks_value)
|
|
else
|
|
length = 1;
|
|
|
|
+ /* check if the integer could be interpreted negative during a signed decode and prepend a zero-byte if necessary */
|
|
+ if ((ticks_value >> (8 * (length - 1))) & 0x80) {
|
|
+ length++;
|
|
+ }
|
|
+
|
|
*buffer++ = type;
|
|
*buffer++ = length;
|
|
while (length--)
|
|
--
|
|
2.13.2
|
|
|