Fix out-of-bounds error when incorporating email from stdin
[mmh] / uip / rmm.c
index f99dcbc..99820e9 100644 (file)
--- a/uip/rmm.c
+++ b/uip/rmm.c
@@ -73,7 +73,7 @@ main(int argc, char **argv)
                        if (folder) {
                                adios(EX_USAGE, NULL, "only one folder at a time!");
                        } else {
-                               folder = getcpy(expandfol(cp));
+                               folder = mh_xstrdup(expandfol(cp));
                        }
                } else {
                        app_msgarg(&msgs, cp);
@@ -131,7 +131,7 @@ main(int argc, char **argv)
                adios(EX_SOFTWARE, NULL, "more than %d messages for refile exec",
                                MAXARGS - 6);
        }
-       vec = (char **)mh_xmalloc((size_t)(msgs.size + 6) * sizeof(*vec));
+       vec = mh_xcalloc(msgs.size + 6, sizeof(*vec));
        vec[vecp++] = "refile";
        vec[vecp++] = "-src";
        vec[vecp++] = concat("+", folder, NULL);