lo normal es crear un array del maximo numero de datos que vayas a recibir, es decir, si como maximo vas a recibir 32bytes pues pones un array de 32bytes (o algunos bytes mas por si acaso). Ahora, en el for como indicas, seguro que en la trama vendra el nº de bytes que vas a recibir, utilizas esa informacion para el for y que no se salga ni antes, ni despues de tiempo.