Found a bug in my code. This is correct.
Code:
/* allocate memory to hold pointers to receipt lines */
char **rec_texts = malloc(MAXRECL * sizeof(*rec_texts));