[lvm-devel] main - gcc-fanalyzer: rewrite _fetch_string
Zdenek Kabelac
zkabelac at sourceware.org
Mon Sep 20 13:29:55 UTC 2021
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=909401226cd7219fa07389bc396723b0c01cd9dd
Commit: 909401226cd7219fa07389bc396723b0c01cd9dd
Parent: 30b188857c51144cd4103850f93287004cc5acaa
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Mon Sep 20 13:51:20 2021 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Mon Sep 20 14:18:13 2021 +0200
gcc-fanalyzer: rewrite _fetch_string
Slightly more optimal code, that is less confusing analyzers.
---
daemons/dmeventd/libdevmapper-event.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/daemons/dmeventd/libdevmapper-event.c b/daemons/dmeventd/libdevmapper-event.c
index 7e09ff07b..237be9fec 100644
--- a/daemons/dmeventd/libdevmapper-event.c
+++ b/daemons/dmeventd/libdevmapper-event.c
@@ -709,15 +709,11 @@ int dm_event_unregister_handler(const struct dm_event_handler *dmevh)
static char *_fetch_string(char **src, const int delimiter)
{
char *p, *ret;
+ size_t len = (p = strchr(*src, delimiter)) ?
+ p - *src : strlen(*src);
- if ((p = strchr(*src, delimiter)))
- *p = 0;
-
- if ((ret = strdup(*src)))
- *src += strlen(ret) + 1;
-
- if (p)
- *p = delimiter;
+ if ((ret = strndup(*src, len)))
+ *src += len + 1;
return ret;
}
More information about the lvm-devel
mailing list