lib/idr.c: fix out-of-bounds pointer dereference