This fixes "(portability) scanf without field width limits can crash with
huge input data on some versions of libc" warning from cppcheck.

We choose 10 as the field width limit as it is the number of characters in
2^31-1, the largest int.
---
 wmSMPmon/wmgeneral/wmgeneral.c  | 4 ++--
 wmckgmail/wmgeneral/wmgeneral.c | 4 ++--
 wmcpufreq/wmgeneral/wmgeneral.c | 4 ++--
 wmfsm/wmgeneral/wmgeneral.c     | 4 ++--
 wmifs/wmgeneral/wmgeneral.c     | 4 ++--
 wmitime/wmgeneral/wmgeneral.c   | 4 ++--
 wmkeys/wmgeneral/wmgeneral.c    | 4 ++--
 wmmon/wmgeneral/wmgeneral.c     | 4 ++--
 wmppp.app/wmgeneral/wmgeneral.c | 4 ++--
 wmsm.app/wmgeneral/wmgeneral.c  | 4 ++--
 wmtime/wmgeneral/wmgeneral.c    | 4 ++--
 wmtz/wmgeneral/wmgeneral.c      | 4 ++--
 12 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/wmSMPmon/wmgeneral/wmgeneral.c b/wmSMPmon/wmgeneral/wmgeneral.c
index 9b7e5d0..0ca67c9 100644
--- a/wmSMPmon/wmgeneral/wmgeneral.c
+++ b/wmSMPmon/wmgeneral/wmgeneral.c
@@ -306,7 +306,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int 
sy) {
        int     zero=0;
        int     curpixel;
 
-       sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
+       sscanf(*xpm, "%10d %10d %10d %10d", &width, &height, &numcol, &depth);
 
 
        for (k=0; k!=depth; k++)
@@ -483,7 +483,7 @@ void openXwindow(int argc, char *argv[], char 
*pixmap_bytes[], char *pixmask_bit
        XMapWindow(display, win);
 
        if (geometry) {
-               if (sscanf(geometry, "+%d+%d", &wx, &wy) != 2) {
+               if (sscanf(geometry, "+%10d+%10d", &wx, &wy) != 2) {
                        fprintf(stderr, "Bad geometry string.\n");
                        exit(1);
                }
diff --git a/wmckgmail/wmgeneral/wmgeneral.c b/wmckgmail/wmgeneral/wmgeneral.c
index 9b7e5d0..0ca67c9 100644
--- a/wmckgmail/wmgeneral/wmgeneral.c
+++ b/wmckgmail/wmgeneral/wmgeneral.c
@@ -306,7 +306,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int 
sy) {
        int     zero=0;
        int     curpixel;
 
-       sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
+       sscanf(*xpm, "%10d %10d %10d %10d", &width, &height, &numcol, &depth);
 
 
        for (k=0; k!=depth; k++)
@@ -483,7 +483,7 @@ void openXwindow(int argc, char *argv[], char 
*pixmap_bytes[], char *pixmask_bit
        XMapWindow(display, win);
 
        if (geometry) {
-               if (sscanf(geometry, "+%d+%d", &wx, &wy) != 2) {
+               if (sscanf(geometry, "+%10d+%10d", &wx, &wy) != 2) {
                        fprintf(stderr, "Bad geometry string.\n");
                        exit(1);
                }
diff --git a/wmcpufreq/wmgeneral/wmgeneral.c b/wmcpufreq/wmgeneral/wmgeneral.c
index 9b7e5d0..0ca67c9 100755
--- a/wmcpufreq/wmgeneral/wmgeneral.c
+++ b/wmcpufreq/wmgeneral/wmgeneral.c
@@ -306,7 +306,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int 
sy) {
        int     zero=0;
        int     curpixel;
 
-       sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
+       sscanf(*xpm, "%10d %10d %10d %10d", &width, &height, &numcol, &depth);
 
 
        for (k=0; k!=depth; k++)
@@ -483,7 +483,7 @@ void openXwindow(int argc, char *argv[], char 
*pixmap_bytes[], char *pixmask_bit
        XMapWindow(display, win);
 
        if (geometry) {
-               if (sscanf(geometry, "+%d+%d", &wx, &wy) != 2) {
+               if (sscanf(geometry, "+%10d+%10d", &wx, &wy) != 2) {
                        fprintf(stderr, "Bad geometry string.\n");
                        exit(1);
                }
diff --git a/wmfsm/wmgeneral/wmgeneral.c b/wmfsm/wmgeneral/wmgeneral.c
index 9b7e5d0..0ca67c9 100644
--- a/wmfsm/wmgeneral/wmgeneral.c
+++ b/wmfsm/wmgeneral/wmgeneral.c
@@ -306,7 +306,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int 
sy) {
        int     zero=0;
        int     curpixel;
 
-       sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
+       sscanf(*xpm, "%10d %10d %10d %10d", &width, &height, &numcol, &depth);
 
 
        for (k=0; k!=depth; k++)
@@ -483,7 +483,7 @@ void openXwindow(int argc, char *argv[], char 
*pixmap_bytes[], char *pixmask_bit
        XMapWindow(display, win);
 
        if (geometry) {
-               if (sscanf(geometry, "+%d+%d", &wx, &wy) != 2) {
+               if (sscanf(geometry, "+%10d+%10d", &wx, &wy) != 2) {
                        fprintf(stderr, "Bad geometry string.\n");
                        exit(1);
                }
diff --git a/wmifs/wmgeneral/wmgeneral.c b/wmifs/wmgeneral/wmgeneral.c
index 9b7e5d0..0ca67c9 100644
--- a/wmifs/wmgeneral/wmgeneral.c
+++ b/wmifs/wmgeneral/wmgeneral.c
@@ -306,7 +306,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int 
sy) {
        int     zero=0;
        int     curpixel;
 
-       sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
+       sscanf(*xpm, "%10d %10d %10d %10d", &width, &height, &numcol, &depth);
 
 
        for (k=0; k!=depth; k++)
@@ -483,7 +483,7 @@ void openXwindow(int argc, char *argv[], char 
*pixmap_bytes[], char *pixmask_bit
        XMapWindow(display, win);
 
        if (geometry) {
-               if (sscanf(geometry, "+%d+%d", &wx, &wy) != 2) {
+               if (sscanf(geometry, "+%10d+%10d", &wx, &wy) != 2) {
                        fprintf(stderr, "Bad geometry string.\n");
                        exit(1);
                }
diff --git a/wmitime/wmgeneral/wmgeneral.c b/wmitime/wmgeneral/wmgeneral.c
index 9b7e5d0..0ca67c9 100644
--- a/wmitime/wmgeneral/wmgeneral.c
+++ b/wmitime/wmgeneral/wmgeneral.c
@@ -306,7 +306,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int 
sy) {
        int     zero=0;
        int     curpixel;
 
-       sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
+       sscanf(*xpm, "%10d %10d %10d %10d", &width, &height, &numcol, &depth);
 
 
        for (k=0; k!=depth; k++)
@@ -483,7 +483,7 @@ void openXwindow(int argc, char *argv[], char 
*pixmap_bytes[], char *pixmask_bit
        XMapWindow(display, win);
 
        if (geometry) {
-               if (sscanf(geometry, "+%d+%d", &wx, &wy) != 2) {
+               if (sscanf(geometry, "+%10d+%10d", &wx, &wy) != 2) {
                        fprintf(stderr, "Bad geometry string.\n");
                        exit(1);
                }
diff --git a/wmkeys/wmgeneral/wmgeneral.c b/wmkeys/wmgeneral/wmgeneral.c
index 9b7e5d0..0ca67c9 100644
--- a/wmkeys/wmgeneral/wmgeneral.c
+++ b/wmkeys/wmgeneral/wmgeneral.c
@@ -306,7 +306,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int 
sy) {
        int     zero=0;
        int     curpixel;
 
-       sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
+       sscanf(*xpm, "%10d %10d %10d %10d", &width, &height, &numcol, &depth);
 
 
        for (k=0; k!=depth; k++)
@@ -483,7 +483,7 @@ void openXwindow(int argc, char *argv[], char 
*pixmap_bytes[], char *pixmask_bit
        XMapWindow(display, win);
 
        if (geometry) {
-               if (sscanf(geometry, "+%d+%d", &wx, &wy) != 2) {
+               if (sscanf(geometry, "+%10d+%10d", &wx, &wy) != 2) {
                        fprintf(stderr, "Bad geometry string.\n");
                        exit(1);
                }
diff --git a/wmmon/wmgeneral/wmgeneral.c b/wmmon/wmgeneral/wmgeneral.c
index 9b7e5d0..0ca67c9 100644
--- a/wmmon/wmgeneral/wmgeneral.c
+++ b/wmmon/wmgeneral/wmgeneral.c
@@ -306,7 +306,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int 
sy) {
        int     zero=0;
        int     curpixel;
 
-       sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
+       sscanf(*xpm, "%10d %10d %10d %10d", &width, &height, &numcol, &depth);
 
 
        for (k=0; k!=depth; k++)
@@ -483,7 +483,7 @@ void openXwindow(int argc, char *argv[], char 
*pixmap_bytes[], char *pixmask_bit
        XMapWindow(display, win);
 
        if (geometry) {
-               if (sscanf(geometry, "+%d+%d", &wx, &wy) != 2) {
+               if (sscanf(geometry, "+%10d+%10d", &wx, &wy) != 2) {
                        fprintf(stderr, "Bad geometry string.\n");
                        exit(1);
                }
diff --git a/wmppp.app/wmgeneral/wmgeneral.c b/wmppp.app/wmgeneral/wmgeneral.c
index 9b7e5d0..0ca67c9 100644
--- a/wmppp.app/wmgeneral/wmgeneral.c
+++ b/wmppp.app/wmgeneral/wmgeneral.c
@@ -306,7 +306,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int 
sy) {
        int     zero=0;
        int     curpixel;
 
-       sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
+       sscanf(*xpm, "%10d %10d %10d %10d", &width, &height, &numcol, &depth);
 
 
        for (k=0; k!=depth; k++)
@@ -483,7 +483,7 @@ void openXwindow(int argc, char *argv[], char 
*pixmap_bytes[], char *pixmask_bit
        XMapWindow(display, win);
 
        if (geometry) {
-               if (sscanf(geometry, "+%d+%d", &wx, &wy) != 2) {
+               if (sscanf(geometry, "+%10d+%10d", &wx, &wy) != 2) {
                        fprintf(stderr, "Bad geometry string.\n");
                        exit(1);
                }
diff --git a/wmsm.app/wmgeneral/wmgeneral.c b/wmsm.app/wmgeneral/wmgeneral.c
index 9b7e5d0..0ca67c9 100644
--- a/wmsm.app/wmgeneral/wmgeneral.c
+++ b/wmsm.app/wmgeneral/wmgeneral.c
@@ -306,7 +306,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int 
sy) {
        int     zero=0;
        int     curpixel;
 
-       sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
+       sscanf(*xpm, "%10d %10d %10d %10d", &width, &height, &numcol, &depth);
 
 
        for (k=0; k!=depth; k++)
@@ -483,7 +483,7 @@ void openXwindow(int argc, char *argv[], char 
*pixmap_bytes[], char *pixmask_bit
        XMapWindow(display, win);
 
        if (geometry) {
-               if (sscanf(geometry, "+%d+%d", &wx, &wy) != 2) {
+               if (sscanf(geometry, "+%10d+%10d", &wx, &wy) != 2) {
                        fprintf(stderr, "Bad geometry string.\n");
                        exit(1);
                }
diff --git a/wmtime/wmgeneral/wmgeneral.c b/wmtime/wmgeneral/wmgeneral.c
index 9b7e5d0..0ca67c9 100644
--- a/wmtime/wmgeneral/wmgeneral.c
+++ b/wmtime/wmgeneral/wmgeneral.c
@@ -306,7 +306,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int 
sy) {
        int     zero=0;
        int     curpixel;
 
-       sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
+       sscanf(*xpm, "%10d %10d %10d %10d", &width, &height, &numcol, &depth);
 
 
        for (k=0; k!=depth; k++)
@@ -483,7 +483,7 @@ void openXwindow(int argc, char *argv[], char 
*pixmap_bytes[], char *pixmask_bit
        XMapWindow(display, win);
 
        if (geometry) {
-               if (sscanf(geometry, "+%d+%d", &wx, &wy) != 2) {
+               if (sscanf(geometry, "+%10d+%10d", &wx, &wy) != 2) {
                        fprintf(stderr, "Bad geometry string.\n");
                        exit(1);
                }
diff --git a/wmtz/wmgeneral/wmgeneral.c b/wmtz/wmgeneral/wmgeneral.c
index 9b7e5d0..0ca67c9 100644
--- a/wmtz/wmgeneral/wmgeneral.c
+++ b/wmtz/wmgeneral/wmgeneral.c
@@ -306,7 +306,7 @@ void createXBMfromXPM(char *xbm, char **xpm, int sx, int 
sy) {
        int     zero=0;
        int     curpixel;
 
-       sscanf(*xpm, "%d %d %d %d", &width, &height, &numcol, &depth);
+       sscanf(*xpm, "%10d %10d %10d %10d", &width, &height, &numcol, &depth);
 
 
        for (k=0; k!=depth; k++)
@@ -483,7 +483,7 @@ void openXwindow(int argc, char *argv[], char 
*pixmap_bytes[], char *pixmask_bit
        XMapWindow(display, win);
 
        if (geometry) {
-               if (sscanf(geometry, "+%d+%d", &wx, &wy) != 2) {
+               if (sscanf(geometry, "+%10d+%10d", &wx, &wy) != 2) {
                        fprintf(stderr, "Bad geometry string.\n");
                        exit(1);
                }
-- 
2.1.4


-- 
To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.

Reply via email to