aboutsummaryrefslogtreecommitdiff
path: root/helper
diff options
context:
space:
mode:
authorMike Holmes <mike.holmes@linaro.org>2015-12-03 13:49:57 -0500
committerMaxim Uvarov <maxim.uvarov@linaro.org>2015-12-07 14:15:06 +0300
commit78b7f37a1ae30dd85f7b13492bbe402a591fae60 (patch)
tree3ce8917dd5dfbf50225dbc756a2919801eab2790 /helper
parent0043ff8f7dd86a0c1e143412ceb5a14c8ae9c727 (diff)
helper: fix strncpy in table support
Fixes Bug 1905 - CID 154167: Calling strncpy with a maximum size argument of ODP_TABLE_NAME_LEN bytes on destination array tbl->name of size ODP_TABLE_NAME_LEN bytes might leave the destination string unterminated if the copied string is also of the maximum size ODP_TABLE_NAME_LEN. Make the copy leave one char for the null terminator. Signed-off-by: Mike Holmes <mike.holmes@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'helper')
-rw-r--r--helper/hashtable.c2
-rw-r--r--helper/lineartable.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/helper/hashtable.c b/helper/hashtable.c
index 1121beb0..e0f562e5 100644
--- a/helper/hashtable.c
+++ b/helper/hashtable.c
@@ -92,7 +92,7 @@ odph_table_t odph_hash_table_create(const char *name, uint32_t capacity,
memset(tbl, 0, capacity << 20);
tbl->init_cap = capacity << 20;
- strncpy(tbl->name, name, ODPH_TABLE_NAME_LEN);
+ strncpy(tbl->name, name, ODPH_TABLE_NAME_LEN - 1);
tbl->key_size = key_size;
tbl->value_size = value_size;
diff --git a/helper/lineartable.c b/helper/lineartable.c
index b0759f9b..68d93500 100644
--- a/helper/lineartable.c
+++ b/helper/lineartable.c
@@ -73,7 +73,7 @@ odph_table_t odph_linear_table_create(const char *name, uint32_t capacity,
tbl->init_cap = capacity < 20;
- strncpy(tbl->name, name, ODPH_TABLE_NAME_LEN);
+ strncpy(tbl->name, name, ODPH_TABLE_NAME_LEN - 1);
/* for linear table, the key is just the index, without confict
* so we just need to record the value content