version: covered-20091126
file: merge.c
Function 'merge_parse_args'' is recursively called for any '-f <file>'. At the end of function 'merge_parse_args' the global variable 'merge_in_num' is incremented for any entry in global list 'merge_in_head'. This causes that CDD file which are specified via file and '-f' are counted twice and break an assertion later.
You will be able to able reproduce this bug with any merge of CDD files. Just specify the file names via '-f''.
patch: diff -cNB merge.c merge-orig.c > merge-diff.c
The bug is easily to fix. Just place the counting and checking around 'merge_in_num' outside of 'merge_parse_args'. I put a related patch along with the bug description. You are welcome to contact me for any questions ..
Jens,
I have accepted the patch that you have provided for this bug. The CVS tree has been updated with this bug fix and it will be generally available in the 0.7.8 stable release.
Thanks,
Trevor
This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).