File alog-bufferoverflow.patch of Package mpich
copying the string into the first 12 chars of x into c is not needed. xx_write() does exactly the same stuff again later. (line 77) so instead of copying the data here and copy it again later we pass the full length x to xx_write() and let it cut there. --- mpid/ch_p4/p4/alog/alog.c +++ mpid/ch_p4/p4/alog/alog.c @@ -243,9 +243,9 @@ strcat(x,"-"); strncat(x,cd+22,2); - strcpy(c," "); - strncpy(c,x,12); - xx_write(head,0,(-1),0,c); +// strcpy(c," "); +// strncpy(c,x,12); + xx_write(head,0,(-1),0,x); sprintf(x,"%lu", (unsigned long) usc_rollover_val()); xx_write(head,0,(-11),0,x);