Fix unreproducible build
[mmh] / uip / whom.c
index a72c84f..7486dd8 100644 (file)
@@ -167,7 +167,7 @@ main(int argc, char **argv)
                }
                pclose(in);
        }
-       free(cmd);
+       mh_free0(&cmd);
        naddrs += n;
 
        cmd = add("ali -list", NULL);
@@ -180,7 +180,7 @@ main(int argc, char **argv)
                }
                pclose(in);
        }
-       free(cmd);
+       mh_free0(&cmd);
        naddrs += n;
 
        cmd = add("ali -list", NULL);
@@ -193,7 +193,7 @@ main(int argc, char **argv)
                }
                pclose(in);
        }
-       free(cmd);
+       mh_free0(&cmd);
        naddrs += n;
 
        return naddrs ? 0 : 1;
@@ -215,6 +215,9 @@ process(char *file)
 
        for (compnum=1, state=FLD2;; compnum++) {
                switch (state = m_getfld2(state, &f, in)) {
+               case LENERR2:
+                       state = FLD2;
+                       /* FALL */
                case FLD2:
                        proc_hdr(f.name, f.value);
                        continue;
@@ -223,8 +226,10 @@ process(char *file)
                case FILEEOF2:
                        break;
 
-               case LENERR2:
                case FMTERR2:
+                       advise(NULL, "message format error in component #%d", compnum);
+                       continue;
+
                case IOERR2:
                        adios(EX_DATAERR, NULL, "message format error in component #%d",
                                        compnum);