At line 221, the assignment (old_res_ptr = res_ptr) will lead to memory leak when iteration of corresponding loop is greater than 3.
189 /* Parse the file's contents. */
190 char *res_ptr = NULL;
204 if (c == '\n' || c == ' ' || c == '\t')
208 /* Skip comment, to end of line. */
211 while (!(c == EOF || c == '\n'));
217 if (fscanf (fp, "%50s %50s", buf1, buf2) < 2)
221 old_res_ptr = res_ptr;
224 res_size = l1 + 1 + l2 + 1;
225 res_ptr = (char *) malloc (res_size + 1);
229 res_size += l1 + 1 + l2 + 1;
230 res_ptr = (char *) realloc (res_ptr, res_size + 1);
239 strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);
240 strcpy (res_ptr + res_size - (l2 + 1), buf2);