Module Name: src
Committed By: mlelstv
Date: Sat Dec 14 09:05:30 UTC 2019
Modified Files:
src/external/gpl2/lvm2/dist/libdm/ioctl: libdm_netbsd.c
Log Message:
Handle NULL params, fix error paths.
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl2/lvm2/dist/libdm/ioctl/libdm_netbsd.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl2/lvm2/dist/libdm/ioctl/libdm_netbsd.c
diff -u src/external/gpl2/lvm2/dist/libdm/ioctl/libdm_netbsd.c:1.7 src/external/gpl2/lvm2/dist/libdm/ioctl/libdm_netbsd.c:1.8
--- src/external/gpl2/lvm2/dist/libdm/ioctl/libdm_netbsd.c:1.7 Tue Feb 8 03:26:12 2011
+++ src/external/gpl2/lvm2/dist/libdm/ioctl/libdm_netbsd.c Sat Dec 14 09:05:30 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: libdm_netbsd.c,v 1.7 2011/02/08 03:26:12 haad Exp $ */
+/* $NetBSD: libdm_netbsd.c,v 1.8 2019/12/14 09:05:30 mlelstv Exp $ */
/*
* Copyright (c) 1996, 1997, 1998, 1999, 2002 The NetBSD Foundation, Inc.
@@ -345,9 +345,10 @@ dm_table_status(libdm_task_t task, struc
type = libdm_table_get_target(table);
params = libdm_table_get_params(table);
- if (params != NULL)
- plen = strlen(params) + 1;
+ if (params == NULL)
+ params = "";
+ plen = strlen(params) + 1;
rec_size = sizeof(struct dm_target_spec) + plen;
/*
@@ -357,17 +358,17 @@ dm_table_status(libdm_task_t task, struc
*/
next += rec_size;
- if (rec_size > dmi->data_size)
+ if (rec_size > dmi->data_size) {
+ libdm_table_destroy(table);
+ libdm_iter_destroy(iter);
return -ENOMEM;
+ }
dmts->next = next;
strlcpy(dmts->target_type, type, DM_MAX_TYPE_NAME);
params_start = (char *)dmts + sizeof(struct dm_target_spec);
- if (params != NULL)
- strlcpy(params_start, params, plen);
- else
- params_start = "\0";
+ strlcpy(params_start, params, plen);
odmts = dmts;
dmts = (struct dm_target_spec *)((uint8_t *)dmts + rec_size);