summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/lsat/files/lsat-0.9.7.1-segfault-fix.patch')
-rw-r--r--app-admin/lsat/files/lsat-0.9.7.1-segfault-fix.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/app-admin/lsat/files/lsat-0.9.7.1-segfault-fix.patch b/app-admin/lsat/files/lsat-0.9.7.1-segfault-fix.patch
new file mode 100644
index 000000000000..558c8de60321
--- /dev/null
+++ b/app-admin/lsat/files/lsat-0.9.7.1-segfault-fix.patch
@@ -0,0 +1,45 @@
+--- 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;