### Describe the bug The issue was found with a static analyzer: ``` // Parse access type [:rwx] c = strrchr(buf, ':'); if (c != NULL && c != name && c[-1] != ':') { ^^^^^^^^^ ``` `c` will never be equal to `name`; we should check `c != buf` instead. ### Expected vs. actual behavior _No response_ ### Reproduction Steps _No response_ ### Additional Information/Context _No response_ ### Async-profiler version master ### Environment details _No response_