The call to parcel_r_int32() must be done outside the "if" statement, otherwise we will start reading wrong values when number is NULL in one object but we still have more objects to read.