[U-Boot] [PATCH] hashtable: Fix length calculation in hexport_r
Zubair Lutfullah Kakakhel
zubair at resin.io
Tue Jul 17 18:25:38 UTC 2018
The length returned by hexport_r has a few redundant characters.
This appears as NULL characters at the end so seems harmless.
Remove the surplus counts in two places
totlen += strlen(ep->key) + 2;
I'm guessing the +2 here is for = and sep char. But there is another
totlen += 2; line that does that.
size = totletn + 1;
Doesn't make sense and isn't justified with any comment.
Signed-off-by: Zubair Lutfullah Kakakhel <zubair at resin.io>
---
lib/hashtable.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/hashtable.c b/lib/hashtable.c
index 52aab6d..64faa63 100644
--- a/lib/hashtable.c
+++ b/lib/hashtable.c
@@ -622,7 +622,7 @@ ssize_t hexport_r(struct hsearch_data *htab, const char sep, int flag,
list[n++] = ep;
- totlen += strlen(ep->key) + 2;
+ totlen += strlen(ep->key);
if (sep == '\0') {
totlen += strlen(ep->data);
@@ -662,7 +662,7 @@ ssize_t hexport_r(struct hsearch_data *htab, const char sep, int flag,
return (-1);
}
} else {
- size = totlen + 1;
+ size = totlen;
}
/* Check if the user provided a buffer */
--
2.7.4
More information about the U-Boot
mailing list