obj_or_enomem() returns the first argument unchanged, and just sets errorno to UV_ENOMEM if the former is NULL. So this should work as expected.