Are you sure? The thinking was that an ENOMEM signals a critical failure, and the callback can't trust any of the other arguments. If we "hide" the ENOMEM due to failure to allocate "path" with the (possibly successful) result, the callback must check "path" for None in addition to errorno.