summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorFranziskus Kiefer <franziskuskiefer@gmail.com>2016-07-04 14:11:34 +0200
committerFranziskus Kiefer <franziskuskiefer@gmail.com>2016-07-04 14:11:34 +0200
commitd90e20f3cedb2c3a29acdda89e37226a73ea8a16 (patch)
treed14e9e65024df5114d2316316547819e9e7286fb /cmd
parent722b2d50d6ebcd81d5146120873a728f7edc980b (diff)
downloadnss-hg-d90e20f3cedb2c3a29acdda89e37226a73ea8a16.tar.gz
Bug 1284187 - New coverity issues in Snapshot 164273, r=ttaubert
Diffstat (limited to 'cmd')
-rw-r--r--cmd/ecperf/ecperf.c13
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) {