diff options
author | Franziskus Kiefer <franziskuskiefer@gmail.com> | 2016-07-04 14:11:34 +0200 |
---|---|---|
committer | Franziskus Kiefer <franziskuskiefer@gmail.com> | 2016-07-04 14:11:34 +0200 |
commit | d90e20f3cedb2c3a29acdda89e37226a73ea8a16 (patch) | |
tree | d14e9e65024df5114d2316316547819e9e7286fb /cmd | |
parent | 722b2d50d6ebcd81d5146120873a728f7edc980b (diff) | |
download | nss-hg-d90e20f3cedb2c3a29acdda89e37226a73ea8a16.tar.gz |
Bug 1284187 - New coverity issues in Snapshot 164273, r=ttaubert
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/ecperf/ecperf.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/cmd/ecperf/ecperf.c b/cmd/ecperf/ecperf.c index e3720bba3..6f7285ec8 100644 --- a/cmd/ecperf/ecperf.c +++ b/cmd/ecperf/ecperf.c @@ -285,6 +285,9 @@ hexString2SECItem(PLArenaPool *arena, SECItem *item, const char *str) int byteval = 0; int tmp = PORT_Strlen(str); + PORT_Assert(arena); + PORT_Assert(item); + if ((tmp % 2) != 0) { return NULL; } @@ -301,14 +304,16 @@ hexString2SECItem(PLArenaPool *arena, SECItem *item, const char *str) } while (str[i]) { - if ((str[i] >= '0') && (str[i] <= '9')) + if ((str[i] >= '0') && (str[i] <= '9')) { tmp = str[i] - '0'; - else if ((str[i] >= 'a') && (str[i] <= 'f')) + } else if ((str[i] >= 'a') && (str[i] <= 'f')) { tmp = str[i] - 'a' + 10; - else if ((str[i] >= 'A') && (str[i] <= 'F')) + } else if ((str[i] >= 'A') && (str[i] <= 'F')) { tmp = str[i] - 'A' + 10; - else + } else { + /* item is in arena and gets freed by the caller */ return NULL; + } byteval = byteval * 16 + tmp; if ((i % 2) != 0) { |