From: Baptiste Daroussin Date: Mon, 26 Dec 2022 15:26:53 +0000 (+0100) Subject: Fix genlistname regression and add a test X-Git-Tag: RELEASE_1_4_0_a2~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6110bbff80a357fba764cb3300576afc161df62;p=thirdparty%2Fmlmmj.git Fix genlistname regression and add a test --- diff --git a/src/strgen.c b/src/strgen.c index ee5acf27..83cadc89 100644 --- a/src/strgen.c +++ b/src/strgen.c @@ -59,14 +59,11 @@ char *headerstr(const char *headertoken, const char *str) char *genlistname(const char *listaddr) { - char *dest, *atsign; + const char *atsign; atsign = strchr(listaddr, '@'); MY_ASSERT(atsign); - - xasprintf(&dest, "%s", listaddr); - - return dest; + return (xstrndup(listaddr, atsign - listaddr)); } char *genlistfqdn(const char *listaddr) diff --git a/tests/mlmmj.c b/tests/mlmmj.c index 683456cc..13674a97 100644 --- a/tests/mlmmj.c +++ b/tests/mlmmj.c @@ -36,6 +36,7 @@ #include #include +#include "atf-c/macros.h" #include "xmalloc.h" #include "wrappers.h" #include "chomp.h" @@ -75,6 +76,7 @@ ATF_TC_WITHOUT_HEAD(parse_lastdigest); ATF_TC_WITHOUT_HEAD(extract_bouncetime); ATF_TC_WITHOUT_HEAD(open_subscriber_directory); ATF_TC_WITHOUT_HEAD(unsubscribe); +ATF_TC_WITHOUT_HEAD(genlistname); #ifndef NELEM #define NELEM(array) (sizeof(array) / sizeof((array)[0])) @@ -919,6 +921,19 @@ ATF_TC_BODY(unsubscribe, tc) } +ATF_TC_BODY(genlistname, tc) +{ + char *ret; + + ret = genlistname("plop@bla"); + ATF_REQUIRE_STREQ(ret, "plop"); + free(ret); + + ret = genlistname("plop@bla@meh"); + ATF_REQUIRE_STREQ(ret, "plop"); + free(ret); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, random_int); @@ -949,6 +964,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, extract_bouncetime); ATF_TP_ADD_TC(tp, open_subscriber_directory); ATF_TP_ADD_TC(tp, unsubscribe); + ATF_TP_ADD_TC(tp, genlistname); return (atf_no_error()); }