Andy Koppe wrote: > 2009/12/2 Dave Korn: >> Andy Koppe wrote: >>> 2009/12/2 jeffunit: >>>> My program ran fine under cygwin 1.5 as well as many versions of >>>> linux including mandriva 2009, mandriva 2009.1 and mandriva 2010.0 >>>> >>>> When compiled with >>>> gcc cal.c -o cal >>>> and run with >>>> cal 2009 >>>> I get a segmentation fault. >>>> When I uncomment line 62, the program runs successfully. >>> It's the line after that that has the bug: it's writing to index 432 >>> of a 432-element array. >> Doesn't look like it does to me: >> >>> for(j=0; j<6*72; j++) { >>> //printf("joe %d\n", j); >>> string[j] = '\0'; >>> } >> That's less than 432, not less than or equal. > > You're right, somehow I'd completely misread that, thinking that the > string[j]='\0' is outside the loop.
Still, it could be some other overflow somewhere else; as I'd guess you were reasoning, that's the commonest reason for this sort of bug that crops up on some platforms with some stack and memory layouts and not others. Jeff, recompile your code, adding the "-g" flag, then run it under gdb, and when the segfault happens, use the "bt" command to get a backtrace and see where you are. cheers, DaveK -- 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