summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorZubair Lutfullah Kakakhel <zubair@resin.io>2018-07-17 19:25:38 +0100
committerTom Rini <trini@konsulko.com>2018-07-24 09:25:23 -0400
commitf1b20acb4a03fc6ef5ebff18293287506348955d (patch)
tree4f23c54ccb165181f5516e63353e5235dee5be56 /lib
parente9ee7398d64796d441067d5456b6e65780d11dbd (diff)
downloadu-boot-f1b20acb4a03fc6ef5ebff18293287506348955d.tar.gz
hashtable: Fix length calculation in hexport_r
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@resin.io>
Diffstat (limited to 'lib')
-rw-r--r--lib/hashtable.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/hashtable.c b/lib/hashtable.c
index ffaa5b6e4b..1c48692b69 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 */