Problem: The RFC6979 nonce callback never returns when called with UINT_MAX.
Its unsigned i <= counter loop wraps i to zero after the last iteration.
The public callback type accepts this value, and both RFC6979/default callback symbols can be called directly.
The ordinary signing loop starts at zero and would need 2^32 retries to reach it, so ordinary signing is unaffected in practice.
Fix: Return 0 for UINT_MAX before initializing RFC6979 state.
Smaller counters keep their existing behavior.
Add an edge-case assertion that requires the callback to reject the maximum value instead of hanging.