As the relevant variables are initialized to 0/NULL, we can loop over the full range and make sure we free partial allocations when an error happens partway through initialization.
As the relevant variables are initialized to 0/NULL, we can loop over the full range and make sure we free partial allocations when an error happens partway through initialization.