I don’t know if this is the right place to drop bug reports, but I did not see any other location.
I had strange crashes while using this code. However, I noticed a strange thing in the
bool convertAndCheckHexArray(uint8_t* result, const char* hex, size_t resultSize)
Namely it does this at the end:
result[outputIndex] = 0; // terminate the string
This is outside of the memory of the supplied byte array! And of course, since it is binary, there is no need to terminate.