diff options
Diffstat (limited to 'x11-plugins/wmfrog/files/01-fix-segfault-0.2.0.patch')
-rw-r--r-- | x11-plugins/wmfrog/files/01-fix-segfault-0.2.0.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/x11-plugins/wmfrog/files/01-fix-segfault-0.2.0.patch b/x11-plugins/wmfrog/files/01-fix-segfault-0.2.0.patch new file mode 100644 index 000000000000..7e88f49058ff --- /dev/null +++ b/x11-plugins/wmfrog/files/01-fix-segfault-0.2.0.patch @@ -0,0 +1,54 @@ +From 7b9ead8d480eb2be07db646e9c6383f3397beaea Mon Sep 17 00:00:00 2001 +From: Jim Ramsay <lack@gentoo.org> +Date: Thu, 6 Aug 2009 12:22:26 -0400 +Subject: [PATCH] Fixed segfault if Weather or Clouds not present + +Though the variables 'weatherFound' and 'cloudsFound' were being set properly by +fscanf, their values were never actually checked. + +Furthermore, the strings (Weather, Clouds, tmp1 and tmp2) were not being +initialized to NULL as the code seems to have been expecting. +--- + Src/wmFrog.c | 12 ++++++------ + 1 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Src/wmFrog.c b/Src/wmFrog.c +index e2d82af..af4101a 100644 +--- a/Src/wmFrog.c ++++ b/Src/wmFrog.c +@@ -68,10 +68,10 @@ int n, s, m, i, dt1, dt2, dt3 ; + XEvent event; + char command[1024], Line[512], FileName[10]; + FILE *fp; +- char* Weather; +- char* Clouds; +- char* tmp1; +- char* tmp2; ++ char* Weather = NULL; ++ char* Clouds = NULL; ++ char* tmp1 = NULL; ++ char* tmp2 = NULL; + int intensity=0; + char* precip; + char* desc; +@@ -238,7 +238,7 @@ FILE *fp; + keepgoing=1; + { + +- do{ ++ if (weatherFound) do{ + + + tmp1=mystrsep(&Weather,";"); +@@ -289,7 +289,7 @@ FILE *fp; + while(keepgoing); + } + +- do{ ++ if (cloudsFound) do{ + tmp1=mystrsep(&Clouds,";"); + if(tmp1) + { +-- +1.6.3.3 + |