[dm-devel] [PATCH 4/5] Match FREE and MALLOC/STRDUP/REALLOC
Benjamin Marzinski
bmarzins at redhat.com
Thu Nov 18 00:47:16 UTC 2021
On Tue, Nov 16, 2021 at 10:00:53PM +0800, lixiaokeng wrote:
> In _DEBUG_ mode, MALLOC/STRDUP/REALLOC and FREE will record
> the memory usage. Match them.
This looks fine, but personally, I'd rather just have all the DEBUG
memory code removed. If people want to check memory usage, there's
always valgrind.
-Ben
>
> Signed-off-by: Lixiaokeng <lixiaokeng at huawei.com>
> ---
> kpartx/dasd.c | 5 +++--
> kpartx/kpartx.c | 7 ++++---
> libmultipath/blacklist.c | 6 +++---
> libmultipath/checkers/emc_clariion.c | 2 +-
> libmultipath/config.c | 4 ++--
> libmultipath/configure.c | 4 ++--
> libmultipath/dmparser.c | 2 +-
> libmultipath/parser.c | 2 +-
> libmultipath/structs.c | 2 +-
> multipathd/main.c | 2 +-
> 10 files changed, 19 insertions(+), 17 deletions(-)
>
> diff --git a/kpartx/dasd.c b/kpartx/dasd.c
> index f0398645..14744048 100644
> --- a/kpartx/dasd.c
> +++ b/kpartx/dasd.c
> @@ -40,6 +40,7 @@
> #include "kpartx.h"
> #include "byteorder.h"
> #include "dasd.h"
> +#include "memory.h"
>
> unsigned long long sectors512(unsigned long long sectors, int blocksize)
> {
> @@ -100,10 +101,10 @@ read_dasd_pt(int fd, __attribute__((unused)) struct slice all,
> * Get the first target and operate on that instead.
> */
> if (!(dev = dm_get_first_dep(devname))) {
> - free(devname);
> + FREE(devname);
> return -1;
> }
> - free(devname);
> + FREE(devname);
>
> if ((unsigned int)major(dev) != 94) {
> /* Not a DASD */
> diff --git a/kpartx/kpartx.c b/kpartx/kpartx.c
> index 7bc64543..5e59063d 100644
> --- a/kpartx/kpartx.c
> +++ b/kpartx/kpartx.c
> @@ -39,6 +39,7 @@
> #include "lopart.h"
> #include "kpartx.h"
> #include "version.h"
> +#include "memory.h"
>
> #define SIZE(a) (sizeof(a)/sizeof((a)[0]))
>
> @@ -177,7 +178,7 @@ get_hotplug_device(void)
>
> /* Dirname + mapname + \0 */
> if (!(device = (char *)malloc(sizeof(char) * (off + len + 1)))) {
> - free(mapname);
> + FREE(mapname);
> return NULL;
> }
>
> @@ -187,10 +188,10 @@ get_hotplug_device(void)
>
> if (strlen(device) != (off + len)) {
> free(device);
> - free(mapname);
> + FREE(mapname);
> return NULL;
> }
> - free(mapname);
> + FREE(mapname);
> return device;
> }
>
> diff --git a/libmultipath/blacklist.c b/libmultipath/blacklist.c
> index 4e315c97..573df152 100644
> --- a/libmultipath/blacklist.c
> +++ b/libmultipath/blacklist.c
> @@ -39,7 +39,7 @@ int store_ble(vector blist, const char *str, int origin)
> if (!str)
> return 0;
>
> - strdup_str = strdup(str);
> + strdup_str = STRDUP(str);
> if (!strdup_str)
> return 1;
>
> @@ -134,8 +134,8 @@ out1:
> ble->vendor = NULL;
> }
> out:
> - free(vendor_str);
> - free(product_str);
> + FREE(vendor_str);
> + FREE(product_str);
> return 1;
> }
>
> diff --git a/libmultipath/checkers/emc_clariion.c b/libmultipath/checkers/emc_clariion.c
> index 5cd63aca..b3f0aded 100644
> --- a/libmultipath/checkers/emc_clariion.c
> +++ b/libmultipath/checkers/emc_clariion.c
> @@ -128,7 +128,7 @@ int libcheck_mp_init (struct checker * c)
>
> void libcheck_free (struct checker * c)
> {
> - free(c->context);
> + FREE(c->context);
> }
>
> int libcheck_check (struct checker * c)
> diff --git a/libmultipath/config.c b/libmultipath/config.c
> index 30046a17..667b500b 100644
> --- a/libmultipath/config.c
> +++ b/libmultipath/config.c
> @@ -1051,10 +1051,10 @@ int parse_uid_attrs(char *uid_attrs, struct config *conf)
> if (!tmp) {
> condlog(2, "invalid record in uid_attrs: %s",
> uid_attr_record);
> - free(uid_attr_record);
> + FREE(uid_attr_record);
> ret = 1;
> } else if (!vector_alloc_slot(attrs)) {
> - free(uid_attr_record);
> + FREE(uid_attr_record);
> ret = 1;
> } else
> vector_set_slot(attrs, uid_attr_record);
> diff --git a/libmultipath/configure.c b/libmultipath/configure.c
> index 7edb355b..9545854b 100644
> --- a/libmultipath/configure.c
> +++ b/libmultipath/configure.c
> @@ -738,8 +738,8 @@ void select_action (struct multipath *mpp, const struct _vector *curmp,
> condlog(1, "%s: can't use alias \"%s\" used by %s, falling back to WWID",
> mpp->wwid, mpp->alias, cmpp_by_name->wwid);
> /* We can do this because wwid wasn't found */
> - free(mpp->alias);
> - mpp->alias = strdup(mpp->wwid);
> + FREE(mpp->alias);
> + mpp->alias = STRDUP(mpp->wwid);
> mpp->action = ACT_CREATE;
> condlog(3, "%s: set ACT_CREATE (map does not exist, name changed)",
> mpp->alias);
> diff --git a/libmultipath/dmparser.c b/libmultipath/dmparser.c
> index 4ba7f339..96beeb6d 100644
> --- a/libmultipath/dmparser.c
> +++ b/libmultipath/dmparser.c
> @@ -30,7 +30,7 @@ merge_words(char **dst, const char *word)
> *dst = REALLOC(*dst, len);
>
> if (!*dst) {
> - free(p);
> + FREE(p);
> return 1;
> }
>
> diff --git a/libmultipath/parser.c b/libmultipath/parser.c
> index 68262d0e..f0047c4d 100644
> --- a/libmultipath/parser.c
> +++ b/libmultipath/parser.c
> @@ -364,7 +364,7 @@ set_value(vector strvec)
> for (i = 2; i < VECTOR_SIZE(strvec); i++) {
> str = VECTOR_SLOT(strvec, i);
> if (!str) {
> - free(alloc);
> + FREE(alloc);
> condlog(0, "parse error for option '%s'",
> (char *)VECTOR_SLOT(strvec, 0));
> return NULL;
> diff --git a/libmultipath/structs.c b/libmultipath/structs.c
> index 6e5a1038..e8cacb4b 100644
> --- a/libmultipath/structs.c
> +++ b/libmultipath/structs.c
> @@ -106,7 +106,7 @@ alloc_path (void)
> dm_path_to_gen(pp)->ops = &dm_gen_path_ops;
> pp->hwe = vector_alloc();
> if (pp->hwe == NULL) {
> - free(pp);
> + FREE(pp);
> return NULL;
> }
> }
> diff --git a/multipathd/main.c b/multipathd/main.c
> index 1defeaf1..82ab3ed1 100644
> --- a/multipathd/main.c
> +++ b/multipathd/main.c
> @@ -3555,7 +3555,7 @@ void * mpath_pr_event_handler_fn (void * pathp )
> goto out;
> }
>
> - param = (struct prout_param_descriptor *)MALLOC(sizeof(struct prout_param_descriptor));
> + param = (struct prout_param_descriptor *)calloc(1, sizeof(struct prout_param_descriptor));
> if (!param)
> goto out;
>
> --
More information about the dm-devel
mailing list