[med-svn] r20836 - in trunk/packages/ctn/trunk/debian: . patches

Andreas Tille tille at moszumanska.debian.org
Sun Dec 20 20:26:56 UTC 2015


Author: tille
Date: 2015-12-20 20:26:55 +0000 (Sun, 20 Dec 2015)
New Revision: 20836

Added:
   trunk/packages/ctn/trunk/debian/patches/mayhem.patch
Modified:
   trunk/packages/ctn/trunk/debian/changelog
   trunk/packages/ctn/trunk/debian/patches/series
Log:
Fix mayhem issues by checking missing parameters - if only upstream would use getopt


Modified: trunk/packages/ctn/trunk/debian/changelog
===================================================================
--- trunk/packages/ctn/trunk/debian/changelog	2015-12-20 16:57:11 UTC (rev 20835)
+++ trunk/packages/ctn/trunk/debian/changelog	2015-12-20 20:26:55 UTC (rev 20836)
@@ -1,8 +1,10 @@
-ctn (3.2.0~dfsg-3) UNRELEASED; urgency=medium
+ctn (3.2.0~dfsg-3) unstable; urgency=medium
 
   * cme fix dpkg-control
+  * Fix mayhem issues by checking missing parameters
+    Closes: #715642, #715749, #715765, #715766, #715782
 
- -- Andreas Tille <tille at debian.org>  Sun, 20 Dec 2015 17:55:20 +0100
+ -- Andreas Tille <tille at debian.org>  Sun, 20 Dec 2015 21:12:06 +0100
 
 ctn (3.2.0~dfsg-2) unstable; urgency=medium
 

Added: trunk/packages/ctn/trunk/debian/patches/mayhem.patch
===================================================================
--- trunk/packages/ctn/trunk/debian/patches/mayhem.patch	                        (rev 0)
+++ trunk/packages/ctn/trunk/debian/patches/mayhem.patch	2015-12-20 20:26:55 UTC (rev 20836)
@@ -0,0 +1,287 @@
+Author: Andreas Tille <tille at debian.org>
+Last-Update: Sun, 20 Dec 2015 17:55:20 +0100
+Bug-Debian: https://bugs.debian.org/715642,
+            https://bugs.debian.org/715749,
+            https://bugs.debian.org/715765,
+            https://bugs.debian.org/715766,
+            https://bugs.debian.org/715782
+Description: Fix mayhem issues
+ If upstream only would use getopt ...
+
+--- a/apps/image_archive/archive_server.c
++++ b/apps/image_archive/archive_server.c
+@@ -464,7 +464,7 @@ must be setuid root (see chmod)\n";
+ 	    doBLG = TRUE;
+ 	    break;
+ 	case 'C':
+-	    if (argc < 1)
++	    if (argc < 1 || !argv[argc])
+ 		usageerror();
+ 	    argc--;
+ 	    argv++;
+@@ -482,14 +482,14 @@ must be setuid root (see chmod)\n";
+ 	    controlDatabase = *argv;
+ 	    break;
+ 	case 'g':
+-	    if (argc < 1)
++	    if (argc < 1 || !argv[argc])
+ 		usageerror();
+ 	    argc--;
+ 	    argv++;
+ 	    genericAE = *argv;
+ 	    break;
+ 	case 'l':
+-	    if (argc < 1)
++	    if (argc < 1 || !argv[argc])
+ 		usageerror();
+ 	    argc--;
+ 	    argv++;
+@@ -499,7 +499,7 @@ must be setuid root (see chmod)\n";
+ 	    forgiveFlag = TRUE;
+ 	    break;
+ 	case 'm':
+-	    if (argc < 1)
++	    if (argc < 1 || !argv[argc])
+ 		usageerror();
+ 	    argc--;
+ 	    argv++;
+@@ -507,14 +507,14 @@ must be setuid root (see chmod)\n";
+ 		usageerror();
+ 	    break;
+ 	case 'n':
+-	    if (argc < 1)
++	    if (argc < 1 || !argv[argc])
+ 		usageerror();
+ 	    argc--;
+ 	    argv++;
+ 	    strcpy(node, *argv);
+ 	    break;
+ 	case 'o':
+-	    if (argc < 1)
++	    if (argc < 1 || !argv[argc])
+ 		usageerror();
+ 	    argc--;
+ 	    argv++;
+@@ -542,7 +542,7 @@ must be setuid root (see chmod)\n";
+ 	    verboseDUL = TRUE;
+ 	    break;
+ 	case 'x':
+-	    if (--argc < 1)
++	    if (--argc < 1 || !argv[argc])
+ 		usageerror();
+ 	    argv++;
+ 	    if (strcmp(*argv, "TBL") == 0)
+@@ -553,7 +553,7 @@ must be setuid root (see chmod)\n";
+ 		usageerror();
+ 	    break;
+ 	case 'z':
+-	    if (argc < 2)
++	    if (argc < 2 || !argv[argc])
+ 		usageerror();
+ 	    argc--;
+ 	    argv++;
+@@ -568,7 +568,6 @@ must be setuid root (see chmod)\n";
+ 	    break;
+ 	}
+     }
+-
+     if (argc < 1)
+ 	usageerror();
+ 
+--- a/apps/storage_commit/commit_agent.c
++++ b/apps/storage_commit/commit_agent.c
+@@ -139,6 +139,10 @@ must be setuid root (see chmod)\n";
+ 		usageerror();
+ 	    argc--;
+ 	    argv++;
++            if (!*argv) {
++                fprintf(stderr, "Missing argument for option -f\n");
++                usageerror();
++            }   
+ 	    controlDatabase = *argv;
+ 	    break;
+ 	case 'l':
+@@ -146,6 +150,10 @@ must be setuid root (see chmod)\n";
+ 		usageerror();
+ 	    argc--;
+ 	    argv++;
++            if (!*argv) {
++                fprintf(stderr, "Missing argument for option -l\n");
++                usageerror();
++            }   
+ 	    logFile = *argv;
+ 	    break;
+ 	case 'i':
+@@ -156,6 +164,10 @@ must be setuid root (see chmod)\n";
+ 		usageerror();
+ 	    argc--;
+ 	    argv++;
++	    if (!*argv) {
++		fprintf(stderr, "Missing argument for option -n\n");
++		usageerror();
++	    }
+ 	    strcpy(node, *argv);
+ 	    break;
+ 	case 'q':
+@@ -171,6 +183,10 @@ must be setuid root (see chmod)\n";
+ 	    if (--argc < 1)
+ 		usageerror();
+ 	    argv++;
++            if (!*argv) {
++                fprintf(stderr, "Missing argument for option -x\n");
++                usageerror();
++            }   
+ 	    if (strcmp(*argv, "TBL") == 0)
+ 		verboseTBL = TRUE;
+ 	    else if (strcmp(*argv, "SRV") == 0)
+@@ -183,13 +199,10 @@ must be setuid root (see chmod)\n";
+ 	    break;
+ 	}
+     }
+-
+     if (argc < 1)
+ 	usageerror();
+-
+     if (sscanf(*argv++, "%d", &port) != 1)
+ 	usageerror();
+-
+     (void) signal(SIGUSR1, SIG_IGN);
+     if (port < 1024) {
+ 	if (geteuid() != 0) {
+--- a/apps/displays/ctndisp.c
++++ b/apps/displays/ctndisp.c
+@@ -175,6 +175,10 @@ main(int argc, char **argv)
+ 	if ((strcmp(*argv, "-q")) == 0) {
+ 	    argc--;
+ 	    argv++;
++	    if (!*argv) {
++		fprintf(stderr, "Missing required argument for option -q\n");
++		exit(-1);
++	    }
+ 	    image_Q_id = atoi(*argv);
+ 	    if (image_Q_id < 0) {
+ 		COND_PushCondition(CTNDISP_CMDLINE,
+@@ -187,6 +191,10 @@ main(int argc, char **argv)
+ 	} else if ((strcmp(*argv, "-w")) == 0) {
+ 	    argc--;
+ 	    argv++;
++            if (!*argv) {
++                fprintf(stderr, "Missing required argument for option -w\n");
++                exit(-1);
++            }
+ 	    G_display_width = atoi(*argv);
+ 	    if (G_display_width < MIN_DISPLAY_WIDTH) {
+ 		COND_PushCondition(CTNDISP_CMDLINE,
+@@ -200,6 +208,10 @@ main(int argc, char **argv)
+ 	} else if ((strcmp(*argv, "-h")) == 0) {
+ 	    argc--;
+ 	    argv++;
++            if (!*argv) {
++                fprintf(stderr, "Missing required argument for option -h\n");
++                exit(-1);
++            }
+ 	    G_display_height = atoi(*argv);
+ 	    if (G_display_height < MIN_DISPLAY_HEIGHT) {
+ 		COND_PushCondition(CTNDISP_CMDLINE,
+@@ -213,6 +225,10 @@ main(int argc, char **argv)
+ 	} else if ((strcmp(*argv, "-n")) == 0) {
+ 	    argc--;
+ 	    argv++;
++            if (!*argv) {
++                fprintf(stderr, "Missing required argument for option -n\n");
++                exit(-1);
++            }
+ 	    strcpy(G_nodename, *argv);
+ 	    node_arg++;
+ 	    argc--;
+@@ -223,7 +239,6 @@ main(int argc, char **argv)
+ 	    exit(-1);
+ 	}
+     }
+-
+     /*
+      * -1's indicate to set the width and height to full screen
+      */
+@@ -232,7 +247,6 @@ main(int argc, char **argv)
+ 
+     if (node_arg == 0)
+ 	strcpy(G_nodename, "UNKNOWN");
+-
+ /*
+  * Initialize the Generalized Queue for images and status messages
+  */
+--- a/apps/ctnnetwork/ctnnetwork.c
++++ b/apps/ctnnetwork/ctnnetwork.c
+@@ -123,7 +123,6 @@ main(int argc, char **argv)
+ 
+     THR_Init();
+     QueueElementSize = sizeof(CTNNETWORK_Queue);
+-
+ /*
+  * Get the input paramaters from command line
+  */
+@@ -140,6 +139,10 @@ main(int argc, char **argv)
+ 	if ((strcmp(*argv, "-q")) == 0) {
+ 	    argc--;
+ 	    argv++;
++            if (!*argv) {
++                fprintf(stderr, "Missing argument for option -q\n");
++                exit(-1);
++            }   
+ 	    image_Q_id = atoi(*argv);
+ 	    if (image_Q_id < 0) {
+ 		COND_PushCondition(CTNNETWORK_CMDLINE,
+@@ -152,6 +155,10 @@ main(int argc, char **argv)
+ 	} else if ((strcmp(*argv, "-w")) == 0) {
+ 	    argc--;
+ 	    argv++;
++            if (!*argv) {
++                fprintf(stderr, "Missing argument for option -w\n");
++                exit(-1);
++            }   
+ 	    G_display_width = atoi(*argv);
+ 	    if (G_display_width < MIN_DISPLAY_WIDTH) {
+ 		COND_PushCondition(CTNNETWORK_CMDLINE,
+@@ -164,6 +171,10 @@ main(int argc, char **argv)
+ 	} else if ((strcmp(*argv, "-h")) == 0) {
+ 	    argc--;
+ 	    argv++;
++            if (!*argv) {
++                fprintf(stderr, "Missing argument for option -h\n");
++                exit(-1);
++            }
+ 	    G_display_height = atoi(*argv);
+ 	    if (G_display_height < MIN_DISPLAY_HEIGHT) {
+ 		COND_PushCondition(CTNNETWORK_CMDLINE,
+@@ -176,6 +187,10 @@ main(int argc, char **argv)
+ 	} else if ((strcmp(*argv, "-n")) == 0) {
+ 	    argc--;
+ 	    argv++;
++            if (!*argv) {
++                fprintf(stderr, "Missing argument for option -n\n");
++                exit(-1);
++            }
+ 	    strcpy(G_nodename, *argv);
+ 	    G_Number = atoi(*argv);
+ 	    argc--;
+--- a/apps/dcm_diff/dcm_diff.c
++++ b/apps/dcm_diff/dcm_diff.c
+@@ -390,6 +390,10 @@ main(int argc, char **argv)
+ 	case 'm':
+ 	    argc--;
+ 	    argv++;
++            if (!*argv) {
++                fprintf(stderr, "Missing argument for option -m\n");
++                usageerror();
++            }
+ 	    vmLimit = atoi(*argv);
+ 	    break;
+ 	case 'o':
+@@ -413,6 +417,7 @@ main(int argc, char **argv)
+ 
+     THR_Init();
+     DCM_Debug(verbose);
++
+     if (argc != 2)
+ 	usageerror();
+ 

Modified: trunk/packages/ctn/trunk/debian/patches/series
===================================================================
--- trunk/packages/ctn/trunk/debian/patches/series	2015-12-20 16:57:11 UTC (rev 20835)
+++ trunk/packages/ctn/trunk/debian/patches/series	2015-12-20 20:26:55 UTC (rev 20836)
@@ -5,3 +5,4 @@
 30_hardening.patch
 40_spelling.patch
 50_clang_FTBFS_Wreturn-type.patch
+mayhem.patch




More information about the debian-med-commit mailing list