--- lsat-0.9.7.1/lsatmain.c.orig 2008-12-29 11:09:04.000000000 -0500 +++ lsat-0.9.7.1/lsatmain.c 2008-12-29 13:31:00.000000000 -0500 @@ -232,7 +232,7 @@ int versions(char release[], char kernel } /* end while (fgets...) */ close(fileval); /* clean up even though we will rm it */ - close(infile); + close((int)infile); if ( (system("rm -f /tmp/lsat1.lsat")) < 0) { @@ -308,9 +308,9 @@ int main(int argc, char *argv[]) */ char release[50]; /* array for release level */ char kernel[50]; /* what kernel user is running */ - static char *man_distro; /* if the user specifies a distribution */ + static char man_distro[10]; /* if the user specifies a distribution */ const char * header =NULL; /* to print out the header */ - static char *out_file = "lsat.out"; /* output filename var */ + static char out_file[255] = "lsat.out"; /* output filename var */ char xlist[100]; /* modules to exclude */ int xarray[33] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; int somethinginxlist = 0; @@ -350,10 +350,10 @@ int main(int argc, char *argv[]) diff = 1; break; case 'm': - strcpy(man_distro, argv[i]+3); + strncpy(man_distro, argv[i]+3,sizeof(man_distro)); break; case 'o': - strcpy(out_file, argv[i]+3); + strncpy(out_file, argv[i]+3,sizeof(out_file)); break; case 'r': rpmmodule = 1; @@ -366,7 +366,7 @@ int main(int argc, char *argv[]) break; case 'w': html = 1; - out_file="lsat.html"; + strcpy(out_file,"lsat.html"); break; case 'x': strcpy(xlist,argv[i]+3); somethinginxlist = 1;