CertiK reviewed Wormhole (Pyth-client) on 30 Nov 2022: 15 findings, 0 critical; 7 marked fixed, 2 acknowledged, 6 open.
Report hosted on skynet.certik.com.
Trustblock does not review code.
Statuses are the security firm’s own, from its report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 2 | 0 |
| Medium | 0 | 0 | 1 |
| Low | 6 | 0 | 6 |
The check `sptr->num_ >= PC_COMP_SIZE` is after using `num_` in loop which can cause `comp_[i]` overflow. Since the incrementation of `num_ ` occurs after checking we have assigned minor severity to this finding.
The `size_` in the `pc_map_table` structure is calculated but not used in the program logic.
In the function `pd_div` there is not a check for `n2->v_ == 0`.
The **assert** can be used to check for conditions and throw an exception if the condition is not met. It is better to provide a string message containing details about the error that will be passed back to the caller.
In the `dispatch()` function, there is a check to see if the `data_len` is less than `sizeof(cmd_hdr_t)`, however there isn't a check to see if `data_len` is larger.
The final continuation backslash is redundant as it is on the last line of the statement: ```cpp=142 #define PC_ADD_STR \ tag = (pc_str_t*)src;\ tag_len = 1 + tag->len_;\ if ( &src[tag_len] > end ) return ERROR_INVALID_ARGUMENT;\ sol_memcpy( tgt, tag, tag_len );\ tgt += tag_len;\ src += tag_len;\ ```
The report names a repository or files. Open the report to see its scope.
1,044 projects reviewed · 1,393 reports · latest May 2025
See CertiK’s auditsSomething wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.
Tell us