]> git.ipfire.org Git - thirdparty/mlmmj.git/commitdiff
genmsgid: use asprintf instead of snprintf + strdup
authorBaptiste Daroussin <bapt@FreeBSD.org>
Thu, 4 Nov 2021 13:12:26 +0000 (14:12 +0100)
committerBaptiste Daroussin <bapt@FreeBSD.org>
Thu, 4 Nov 2021 13:21:43 +0000 (14:21 +0100)
src/strgen.c

index 4fdb00c3f25f363278a8c5c4c84f08346f221afe..e4c418b577134bfcd3df0ea0a9d031d610a1395a 100644 (file)
 
 char *random_str()
 {
-       size_t len = 17;
-       char *dest = mymalloc(len);
+       char *dest;
 
-       snprintf(dest, len, "%08x%08x", random_int(), random_int());
+       myasprintf(&dest, "%08x%08x", random_int(), random_int());
 
        return dest;
 }
 
 char *random_plus_addr(const char *addr)
 {
-       size_t len = strlen(addr) + 128;
-       char *dest = mymalloc(len);
+       char *dest;
        char *atsign;
        char *tmpstr;
 
-       tmpstr = mymalloc(len);
-       snprintf(tmpstr, len, "%s", addr);
+       tmpstr = mystrdup(addr);
 
        atsign = strchr(tmpstr, '@');
        MY_ASSERT(atsign);
        *atsign = '=';
 
-       snprintf(dest, len, "%08x%08x-%s", random_int(), random_int(), tmpstr);
+       myasprintf(&dest, "%08x%08x-%s", random_int(), random_int(), tmpstr);
 
        myfree(tmpstr);
-       
        return dest;
 }
 
@@ -257,12 +253,12 @@ char *cleanquotedp(const char *qpstr)
 
 char *genmsgid(const char *fqdn)
 {
-       char buf[256];
+       char *buf;
 
-       snprintf(buf, sizeof(buf), "Message-ID: <%ld-%d-mlmmj-%08x@%s>\n",
-                       (long int)time(NULL), (int)getpid(), random_int(), fqdn);
+       myasprintf(&buf, "Message-ID: <%ld-%d-mlmmj-%08x@%s>\n",
+           (long int)time(NULL), (int)getpid(), random_int(), fqdn);
 
-       return mystrdup(buf);
+       return (buf);
 }
 
 char *gendatestr()