|
166 | 166 | } |
167 | 167 | int wc_Sha512Update(wc_Sha512* sha512, const byte* data, word32 len) |
168 | 168 | { |
| 169 | + if (sha512 == NULL) { |
| 170 | + return BAD_FUNC_ARG; |
| 171 | + } |
| 172 | + if (data == NULL && len == 0) { |
| 173 | + /* valid, but do nothing */ |
| 174 | + return 0; |
| 175 | + } |
| 176 | + if (data == NULL) { |
| 177 | + return BAD_FUNC_ARG; |
| 178 | + } |
| 179 | + |
169 | 180 | return se050_hash_update(&sha512->se050Ctx, data, len); |
170 | 181 | } |
171 | 182 | int wc_Sha512Final(wc_Sha512* sha512, byte* hash) |
@@ -1096,7 +1107,14 @@ static WC_INLINE int Sha512Update(wc_Sha512* sha512, const byte* data, word32 le |
1096 | 1107 |
|
1097 | 1108 | int wc_Sha512Update(wc_Sha512* sha512, const byte* data, word32 len) |
1098 | 1109 | { |
1099 | | - if (sha512 == NULL || (data == NULL && len > 0)) { |
| 1110 | + if (sha512 == NULL) { |
| 1111 | + return BAD_FUNC_ARG; |
| 1112 | + } |
| 1113 | + if (data == NULL && len == 0) { |
| 1114 | + /* valid, but do nothing */ |
| 1115 | + return 0; |
| 1116 | + } |
| 1117 | + if (data == NULL) { |
1100 | 1118 | return BAD_FUNC_ARG; |
1101 | 1119 | } |
1102 | 1120 |
|
@@ -1497,6 +1515,17 @@ int wc_Sha512Transform(wc_Sha512* sha, const unsigned char* data) |
1497 | 1515 | } |
1498 | 1516 | int wc_Sha384Update(wc_Sha384* sha384, const byte* data, word32 len) |
1499 | 1517 | { |
| 1518 | + if (sha384 == NULL) { |
| 1519 | + return BAD_FUNC_ARG; |
| 1520 | + } |
| 1521 | + if (data == NULL && len == 0) { |
| 1522 | + /* valid, but do nothing */ |
| 1523 | + return 0; |
| 1524 | + } |
| 1525 | + if (data == NULL) { |
| 1526 | + return BAD_FUNC_ARG; |
| 1527 | + } |
| 1528 | + |
1500 | 1529 | return se050_hash_update(&sha384->se050Ctx, data, len); |
1501 | 1530 |
|
1502 | 1531 | } |
@@ -1582,7 +1611,15 @@ static int InitSha384(wc_Sha384* sha384) |
1582 | 1611 |
|
1583 | 1612 | int wc_Sha384Update(wc_Sha384* sha384, const byte* data, word32 len) |
1584 | 1613 | { |
1585 | | - if (sha384 == NULL || (data == NULL && len > 0)) { |
| 1614 | + |
| 1615 | + if (sha384 == NULL) { |
| 1616 | + return BAD_FUNC_ARG; |
| 1617 | + } |
| 1618 | + if (data == NULL && len == 0) { |
| 1619 | + /* valid, but do nothing */ |
| 1620 | + return 0; |
| 1621 | + } |
| 1622 | + if (data == NULL) { |
1586 | 1623 | return BAD_FUNC_ARG; |
1587 | 1624 | } |
1588 | 1625 |
|
|
0 commit comments