diff options
| author | tkusumi <tkusumi@NetBSD.org> | 2019-12-06 16:11:59 +0000 |
|---|---|---|
| committer | tkusumi <tkusumi@NetBSD.org> | 2019-12-06 16:11:59 +0000 |
| commit | 70f809a7cb569e762793f93484b64c7a9567839f (patch) | |
| tree | c2c06a453ce56c10bbaff5ee20ab374ece7b232c /sys/dev/dm/dm_target.c | |
| parent | b0a5ef057e9fb52b05c53283a64e4c7cea313972 (diff) | |
dm: Don't ignore dm_target_alloc() argument
dm_target_alloc() is supposed to be copying the name argument to its ->name.
taken-from: DragonFlyBSD
Diffstat (limited to 'sys/dev/dm/dm_target.c')
| -rw-r--r-- | sys/dev/dm/dm_target.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/sys/dev/dm/dm_target.c b/sys/dev/dm/dm_target.c index f0dd72e0ff3..722b068b0e8 100644 --- a/sys/dev/dm/dm_target.c +++ b/sys/dev/dm/dm_target.c @@ -1,4 +1,4 @@ -/* $NetBSD: dm_target.c,v 1.22 2019/12/04 15:31:12 tkusumi Exp $ */ +/* $NetBSD: dm_target.c,v 1.23 2019/12/06 16:11:59 tkusumi Exp $ */ /* * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: dm_target.c,v 1.22 2019/12/04 15:31:12 tkusumi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dm_target.c,v 1.23 2019/12/06 16:11:59 tkusumi Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -241,7 +241,16 @@ dm_target_destroy(void) dm_target_t * dm_target_alloc(const char *name) { - return kmem_zalloc(sizeof(dm_target_t), KM_SLEEP); + dm_target_t *dmt; + + dmt = kmem_zalloc(sizeof(dm_target_t), KM_SLEEP); + if (dmt == NULL) + return NULL; + + if (name) + strlcpy(dmt->name, name, sizeof(dmt->name)); + + return dmt; } /* @@ -298,7 +307,6 @@ dm_target_init(void) dmt->version[0] = 1; dmt->version[1] = 0; dmt->version[2] = 2; - strlcpy(dmt->name, "linear", DM_MAX_TYPE_NAME); dmt->init = &dm_target_linear_init; dmt->status = &dm_target_linear_status; dmt->strategy = &dm_target_linear_strategy; @@ -313,7 +321,6 @@ dm_target_init(void) dmt3->version[0] = 1; dmt3->version[1] = 0; dmt3->version[2] = 3; - strlcpy(dmt3->name, "striped", DM_MAX_TYPE_NAME); dmt3->init = &dm_target_stripe_init; dmt3->status = &dm_target_stripe_status; dmt3->strategy = &dm_target_stripe_strategy; |
