]> diplodocus.org Git - nmh/blobdiff - sbr/m_maildir.c
Fix invalid pointer arithmetic.
[nmh] / sbr / m_maildir.c
index 0f9584b6c38f5352d54a225c9175bb3364d5cff9..daf84a7328ca4dde4b4f7eb141c5a461850da4ff 100644 (file)
@@ -22,6 +22,7 @@ static char mailfold[BUFSIZ];
 static char *exmaildir (char *);
 
 
+/* Returns static char[], never NULL. */
 char *
 m_maildir (char *folder)
 {
@@ -36,6 +37,7 @@ m_maildir (char *folder)
 }
 
 
+/* Return value must be free(3)'d. */
 char *
 m_mailpath (char *folder)
 {
@@ -58,6 +60,7 @@ m_mailpath (char *folder)
 }
 
 
+/* Returns static char[], never NULL. */
 static char *
 exmaildir (char *folder)
 {
@@ -84,7 +87,9 @@ exmaildir (char *folder)
        }
        cp = stpcpy(cp, pp);
     } else {
-       cp = stpcpy(cp, path("./", TFOLDER));
+        char *p = path("./", TFOLDER);
+       cp = stpcpy(cp, p);
+        free(p);
     }
     if (cp[-1] != '/')
        *cp++ = '/';