Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 8a4ea2c5c8cb159d54ea9bc3d78170a6 > files > 3

cudd-2.4.2-4.fc15.src.rpm

diff -durp cudd-2.4.2.ORIG/dddmp/dddmpDbg.c cudd-2.4.2/dddmp/dddmpDbg.c
--- cudd-2.4.2.ORIG/dddmp/dddmpDbg.c	2004-02-18 09:23:31.000000000 -0700
+++ cudd-2.4.2/dddmp/dddmpDbg.c	2009-05-12 10:20:50.000000000 -0600
@@ -97,7 +97,8 @@ Dddmp_cuddBddDisplayBinary(
   while (fgets(buf, 999,fp)!=NULL) {
     fprintf (fpo, "%s", buf);
     if (strncmp(buf, ".nnodes", 7) == 0) {
-      sscanf (buf, "%*s %d", &nnodes);
+      if (sscanf (buf, "%*s %d", &nnodes) == EOF)
+	break;
     }
     if (strncmp(buf, ".rootids", 8) == 0) {
       break;
@@ -141,7 +142,8 @@ Dddmp_cuddBddDisplayBinary(
 
   }
 
-  fgets(buf, 999,fp);
+  if (fgets(buf, 999,fp) == NULL)
+    buf[0] = '\0';
   if (strncmp(buf, ".end", 4) != 0) {
     return (0);
   }
diff -durp cudd-2.4.2.ORIG/dddmp/dddmpLoad.c cudd-2.4.2/dddmp/dddmpLoad.c
--- cudd-2.4.2.ORIG/dddmp/dddmpLoad.c	2009-02-17 17:41:45.000000000 -0700
+++ cudd-2.4.2/dddmp/dddmpLoad.c	2009-05-12 10:20:50.000000000 -0600
@@ -1109,7 +1109,8 @@ DddmpCuddDdArrayLoad (
 
   /*------------------------ Deal With the File Tail -----------------------*/
 
-  fgets (buf, DDDMP_MAXSTRLEN-1,fp);
+  if (fgets (buf, DDDMP_MAXSTRLEN-1,fp) == NULL)
+    buf[0] = '\0';
   Dddmp_CheckAndGotoLabel (!matchkeywd(buf, ".end"),
     "Error .end not found.", failure);
 
@@ -1273,7 +1274,8 @@ DddmpBddReadHeader (
 
     /* comment */
     if (buf[0] == '#') {
-      fgets(buf,DDDMP_MAXSTRLEN,fp);
+      if (fgets(buf,DDDMP_MAXSTRLEN,fp) == NULL)
+	buf[0] = '\0';
       continue;
     }
 
@@ -1426,7 +1428,8 @@ DddmpBddReadHeader (
     }
 
     if (matchkeywd(buf, ".nodes")) {
-      fgets(buf,DDDMP_MAXSTRLEN,fp);
+      if (fgets(buf,DDDMP_MAXSTRLEN,fp) == NULL)
+	buf[0] = '\0';
       break;
     }
 
diff -durp cudd-2.4.2.ORIG/dddmp/dddmpLoadCnf.c cudd-2.4.2/dddmp/dddmpLoadCnf.c
--- cudd-2.4.2.ORIG/dddmp/dddmpLoadCnf.c	2004-02-20 01:35:56.000000000 -0700
+++ cudd-2.4.2/dddmp/dddmpLoadCnf.c	2009-05-12 10:20:50.000000000 -0600
@@ -554,7 +554,8 @@ DddmpBddReadHeaderCnf (
 
     /* Init Problem Line */ 
     if (buf[0] == 'p') {
-      fscanf (fp, "%*s %d %d", &nv, &nc);
+      if (fscanf (fp, "%*s %d %d", &nv, &nc) == EOF)
+	break;
       Hdr->nVarsCnf = nv;
       Hdr->nClausesCnf = nc;
       break;
@@ -569,7 +570,8 @@ DddmpBddReadHeaderCnf (
 
     /* Skip Comment? */
     if (buf[0] != '.') {
-      fgets (buf, DDDMP_MAXSTRLEN, fp);
+      if (fgets (buf, DDDMP_MAXSTRLEN, fp) == NULL)
+	buf[0] = '\0';
       continue;
     }
 
@@ -811,7 +813,8 @@ DddmpReadCnfClauses (
     /* Check for Comment */
     if (word[0] == 'c') {
       /* Comment Found: Skip line */
-      fgets (word, DDDMP_MAX_CNF_ROW_LENGTH-1, fp);
+      if (fgets (word, DDDMP_MAX_CNF_ROW_LENGTH-1, fp) == NULL)
+	word[0] = '\0';
       break;
     }
 
diff -durp cudd-2.4.2.ORIG/epd/epd.c cudd-2.4.2/epd/epd.c
--- cudd-2.4.2.ORIG/epd/epd.c	2004-08-24 15:33:13.000000000 -0600
+++ cudd-2.4.2/epd/epd.c	2009-05-12 10:20:50.000000000 -0600
@@ -1094,7 +1094,8 @@ EpdGetExponentDecimal(double value)
 
   sprintf(str, "%E", value);
   pos = strstr(str, "E");
-  sscanf(pos, "E%d", &exponent);
+  if (sscanf(pos, "E%d", &exponent) == EOF)
+    exponent = 0;
   return(exponent);
 }
 
diff -durp cudd-2.4.2.ORIG/util/pipefork.c cudd-2.4.2/util/pipefork.c
--- cudd-2.4.2.ORIG/util/pipefork.c	2009-02-17 07:18:57.000000000 -0700
+++ cudd-2.4.2/util/pipefork.c	2009-05-12 10:20:50.000000000 -0600
@@ -39,8 +39,10 @@ util_pipefork(
      * fildes[0] for reading from command
      * fildes[1] for writing to command
      */
-    (void) pipe(topipe);
-    (void) pipe(frompipe);
+    if (pipe(topipe) < 0 || pipe(frompipe) < 0) {
+      fputs("Pipe creation failed.\n", stderr);
+      return 1;
+    }
 
 #ifdef __CYGWIN32__
     if ((forkpid = fork()) == 0) {