Gitweb:
https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=b6e7a0b490a3fa2e436...
Commit: b6e7a0b490a3fa2e43675a4d3fb3d25daaac831e
Parent: f04abd1f8a7eea9edf473be17ae1e2aea1a00ee6
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Mar 2 16:25:37 2018 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Mar 6 15:40:34 2018 +0100
cleanup: more usage of dm_strncpy
Use existing wrapper function arournd strncpy + buf[] = 0;
---
daemons/clvmd/lvm-functions.c | 3 +--
daemons/lvmetad/lvmetad-core.c | 15 ++++++---------
lib/cache/lvmcache.c | 17 ++++++-----------
lib/device/dev-cache.c | 6 ++----
lib/format_text/archive.c | 3 +--
lib/format_text/format-text.c | 6 ++----
lib/misc/lvm-globals.c | 6 ++----
lib/misc/sharedlib.c | 3 +--
tools/command.c | 3 +--
9 files changed, 22 insertions(+), 40 deletions(-)
diff --git a/daemons/clvmd/lvm-functions.c b/daemons/clvmd/lvm-functions.c
index e872fbe..c845e6d 100644
--- a/daemons/clvmd/lvm-functions.c
+++ b/daemons/clvmd/lvm-functions.c
@@ -807,8 +807,7 @@ static void lvm2_log_fn(int level, const char *file, int line, int
dm_errno,
if (level != _LOG_ERR && level != _LOG_FATAL)
return;
- strncpy(last_error, message, sizeof(last_error));
- last_error[sizeof(last_error)-1] = '\0';
+ (void) dm_strncpy(last_error, message, sizeof(last_error));
}
/* This checks some basic cluster-LVM configuration stuff */
diff --git a/daemons/lvmetad/lvmetad-core.c b/daemons/lvmetad/lvmetad-core.c
index 04a7224..eeb3f20 100644
--- a/daemons/lvmetad/lvmetad-core.c
+++ b/daemons/lvmetad/lvmetad-core.c
@@ -2705,9 +2705,8 @@ static response handler(daemon_state s, client_handle h, request r)
if (!prev_in_progress && this_in_progress) {
/* New update is starting (filter token is replaced by update token) */
- memcpy(prev_token, state->token, 128);
- strncpy(state->token, token, 128);
- state->token[127] = 0;
+ (void) dm_strncpy(prev_token, state->token, sizeof(prev_token));
+ (void) dm_strncpy(state->token, token, sizeof(state->token));
state->update_begin = _monotonic_seconds();
state->update_timeout = update_timeout;
state->update_pid = pid;
@@ -2728,9 +2727,8 @@ static response handler(daemon_state s, client_handle h, request r)
(int)(_monotonic_seconds() - state->update_begin),
state->update_cmd);
- memcpy(prev_token, state->token, 128);
- strncpy(state->token, token, 128);
- state->token[127] = 0;
+ (void) dm_strncpy(prev_token, state->token, sizeof(prev_token));
+ (void) dm_strncpy(state->token, token, sizeof(state->token));
state->update_begin = _monotonic_seconds();
state->update_timeout = update_timeout;
state->update_pid = pid;
@@ -2762,9 +2760,8 @@ static response handler(daemon_state s, client_handle h, request r)
(int)(_monotonic_seconds() - state->update_begin),
state->update_pid, token);
- memcpy(prev_token, state->token, 128);
- strncpy(state->token, token, 128);
- state->token[127] = 0;
+ (void) dm_strncpy(prev_token, state->token, sizeof(prev_token));
+ (void) dm_strncpy(state->token, token, sizeof(state->token));
state->update_begin = 0;
state->update_timeout = 0;
state->update_pid = 0;
diff --git a/lib/cache/lvmcache.c b/lib/cache/lvmcache.c
index 4022ea6..5ff2827 100644
--- a/lib/cache/lvmcache.c
+++ b/lib/cache/lvmcache.c
@@ -617,8 +617,7 @@ struct lvmcache_vginfo *lvmcache_vginfo_from_vgid(const char *vgid)
}
/* vgid not necessarily NULL-terminated */
- strncpy(&id[0], vgid, ID_LEN);
- id[ID_LEN] = '\0';
+ (void) dm_strncpy(id, vgid, sizeof(id));
if (!(vginfo = dm_hash_lookup(_vgid_hash, id))) {
log_debug_cache("lvmcache has no info for vgid \"%s\"", id);
@@ -719,8 +718,7 @@ struct lvmcache_info *lvmcache_info_from_pvid(const char *pvid, struct
device *d
if (!_pvid_hash || !pvid)
return NULL;
- strncpy(&id[0], pvid, ID_LEN);
- id[ID_LEN] = '\0';
+ (void) dm_strncpy(id, pvid, sizeof(id));
if (!(info = dm_hash_lookup(_pvid_hash, id)))
return NULL;
@@ -1646,8 +1644,7 @@ static int _lvmcache_update_vgid(struct lvmcache_info *info,
return 1;
}
- strncpy(vginfo->vgid, vgid, ID_LEN);
- vginfo->vgid[ID_LEN] = '\0';
+ (void) dm_strncpy(vginfo->vgid, vgid, sizeof(vginfo->vgid));
if (!dm_hash_insert(_vgid_hash, vginfo->vgid, vginfo)) {
log_error("_lvmcache_update: vgid hash insertion failed: %s",
vginfo->vgid);
@@ -2055,10 +2052,8 @@ int lvmcache_update_vg(struct volume_group *vg, unsigned
precommitted)
.lock_type = vg->lock_type
};
- pvid_s[sizeof(pvid_s) - 1] = '\0';
-
dm_list_iterate_items(pvl, &vg->pvs) {
- strncpy(pvid_s, (char *) &pvl->pv->id, sizeof(pvid_s) - 1);
+ (void) dm_strncpy(pvid_s, (char *) &pvl->pv->id, sizeof(pvid_s));
/* FIXME Could pvl->pv->dev->pvid ever be different? */
if ((info = lvmcache_info_from_pvid(pvid_s, pvl->pv->dev, 0)) &&
!lvmcache_update_vgname_and_id(info, &vgsummary))
@@ -2162,8 +2157,8 @@ struct lvmcache_info *lvmcache_add(struct labeller *labeller,
struct device_list *devl;
int created = 0;
- strncpy(pvid_s, pvid, sizeof(pvid_s) - 1);
- pvid_s[sizeof(pvid_s) - 1] = '\0';
+ (void) dm_strncpy(pvid_s, pvid, sizeof(pvid_s));
+
if (!id_write_format((const struct id *)&pvid_s, uuid, sizeof(uuid)))
stack;
diff --git a/lib/device/dev-cache.c b/lib/device/dev-cache.c
index 2f74c81..711c2d8 100644
--- a/lib/device/dev-cache.c
+++ b/lib/device/dev-cache.c
@@ -275,10 +275,8 @@ static int _compare_paths(const char *path0, const char *path1)
if (slash1 < slash0)
return 1;
- strncpy(p0, path0, sizeof(p0) - 1);
- p0[sizeof(p0) - 1] = '\0';
- strncpy(p1, path1, sizeof(p1) - 1);
- p1[sizeof(p1) - 1] = '\0';
+ (void) dm_strncpy(p0, path0, sizeof(p0));
+ (void) dm_strncpy(p1, path1, sizeof(p1));
s0 = p0 + 1;
s1 = p1 + 1;
diff --git a/lib/format_text/archive.c b/lib/format_text/archive.c
index a81a83b..2186de8 100644
--- a/lib/format_text/archive.c
+++ b/lib/format_text/archive.c
@@ -80,8 +80,7 @@ static int _split_vg(const char *filename, char *vgname, size_t vgsize,
if (vg_len + 1 > vgsize)
return 0;
- strncpy(vgname, filename, vg_len);
- vgname[vg_len] = '\0';
+ (void) dm_strncpy(vgname, filename, vg_len + 1);
return 1;
}
diff --git a/lib/format_text/format-text.c b/lib/format_text/format-text.c
index e1603e7..2e7e2b8 100644
--- a/lib/format_text/format-text.c
+++ b/lib/format_text/format-text.c
@@ -1143,10 +1143,8 @@ static int _vg_write_file(struct format_instance *fid
__attribute__((unused)),
if (slash == 0)
strcpy(temp_dir, ".");
else if (slash - tc->path_edit < PATH_MAX) {
- strncpy(temp_dir, tc->path_edit,
- (size_t) (slash - tc->path_edit));
- temp_dir[slash - tc->path_edit] = '\0';
-
+ (void) dm_strncpy(temp_dir, tc->path_edit,
+ (size_t) (slash - tc->path_edit + 1));
} else {
log_error("Text format failed to determine directory.");
return 0;
diff --git a/lib/misc/lvm-globals.c b/lib/misc/lvm-globals.c
index 9c78f3e..be33091 100644
--- a/lib/misc/lvm-globals.c
+++ b/lib/misc/lvm-globals.c
@@ -205,8 +205,7 @@ void init_detect_internal_vg_cache_corruption(int detect)
void set_cmd_name(const char *cmd)
{
- strncpy(_cmd_name, cmd, sizeof(_cmd_name) - 1);
- _cmd_name[sizeof(_cmd_name) - 1] = '\0';
+ (void) dm_strncpy(_cmd_name, cmd, sizeof(_cmd_name));
}
const char *get_cmd_name(void)
@@ -216,8 +215,7 @@ const char *get_cmd_name(void)
void set_sysfs_dir_path(const char *path)
{
- strncpy(_sysfs_dir_path, path, sizeof(_sysfs_dir_path) - 1);
- _sysfs_dir_path[sizeof(_sysfs_dir_path) - 1] = '\0';
+ (void) dm_strncpy(_sysfs_dir_path, path, sizeof(_sysfs_dir_path));
}
const char *log_command_name(void)
diff --git a/lib/misc/sharedlib.c b/lib/misc/sharedlib.c
index db1ba43..2532f79 100644
--- a/lib/misc/sharedlib.c
+++ b/lib/misc/sharedlib.c
@@ -37,8 +37,7 @@ void get_shared_library_path(struct cmd_context *cmd, const char
*libname,
!(cmd->lib_dir = find_config_tree_str(cmd, global_library_dir_CFG, NULL))) ||
(dm_snprintf(path, path_len, "%s/%s", cmd->lib_dir,
libname) == -1) || stat(path, &info) == -1) {
- strncpy(path, libname, path_len - 1);
- path[path_len - 1] = '\0';
+ (void) dm_strncpy(path, libname, path_len);
}
}
diff --git a/tools/command.c b/tools/command.c
index f974474..10efedb 100644
--- a/tools/command.c
+++ b/tools/command.c
@@ -492,8 +492,7 @@ static uint64_t _lv_to_bits(struct command *cmd, char *name)
int argc;
int i;
- memset(buf, 0, sizeof(buf));
- strncpy(buf, name, LVTYPE_LEN-1);
+ (void) dm_strncpy(buf, name, LVTYPE_LEN);
_split_line(buf, &argc, argv, '_');