> So if it's not a valid row, we simply clear? Is "not a valid row" == corrupt data?

Well the data can't be corrupted since the only way a row will be selected is if the loop fully executes, which overwrites any previous memory state.