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

Reply via email to