When running the fuzz tests under -fsanitize=integer
I stumbled upon this:
0coins.cpp:114:22: runtime error: unsigned integer overflow: 0 - 96 cannot be represented in type 'unsigned long'
Note that cachedCoinsUsage
is decreased despite being zero which causes it to wrap around. This in turn makes CCoinsViewCache::DynamicMemoryUsage
start returning bogus values.
Nothing high priority of course, but perhaps worth fixing? :)