cygcheck -svc causes a segfault on Windows 8.1 on line 1610 of cygcheck.cc,
based on gdb output. I'm including some gdb output below that showcases this
issue:
1610 strcat (osname, products[prod]);
(gdb) list
1605 if (prod == PRODUCT_UNLICENSED)
1606 strcat (osname, "Unlicensed");
1607 else if (prod > PRODUCT_PROFESSIONAL_WMC)
1608 strcat (osname, "");
1609 else
1610 strcat (osname, products[prod]);
1611 }
1612 else
1613 {
1614 }
(gdb) p prod
$1 = 101
(gdb) p sizeof(products)/sizeof(void*)
$2 = 101
'products[prod]' in this case is accessing memory outside of the 'products'
array. The odd thing is that a few lines back, the declaration of products
includes 104 elements. I do not know why this discrepancy exists-- anyone have
a clue?
So far I've tried installing the experimental release of the cygwin base tools
(where I think cygcheck is found), some older version of the base tools, and
even just by copying cygcheck from the latest snapshot and replacing the one I
had in my /cygwin64/bin folder. None of these alternative versions alleviated
the issue (and since the snapshot is stripped of debugging symbols and the
symbols I have do not match it, I couldn't debug it, other than the fact it
crashed with a segfault with the same output as the other cases).
I have been trying to compile cygwin on my computer, but I have not had much
success yet. I will continue to try in the mean time. Thanks in advance for any
help!
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple