Using strcat directly is more readable than passing strlen of the copied string to strncat. --- cfg.mk | 5 +++++ src/storage/storage_backend_logical.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cfg.mk b/cfg.mk index 71b0866..be9e475 100644 --- a/cfg.mk +++ b/cfg.mk @@ -1031,6 +1031,11 @@ sc_prohibit_not_strneq: halt='Use STREQ instead of !STRNEQ' \ $(_sc_search_regexp) +sc_prohibit_verbose_strcat: + @prohibit='strncat\([^,]*,\s+([^,]*),\s+strlen\(\1\)\)' \ + halt='Use strcat(a, b) instead of strncat(a, b, strlen())' \ + $(_sc_search_regexp) + # We don't use this feature of maint.mk. prev_version_file = /dev/null diff --git a/src/storage/storage_backend_logical.c b/src/storage/storage_backend_logical.c index ba26223..f0d6f80 100644 --- a/src/storage/storage_backend_logical.c +++ b/src/storage/storage_backend_logical.c @@ -123,11 +123,11 @@ virStorageBackendLogicalParseVolExtents(virStorageVolDefPtr vol, /* Allocate space for 'nextents' regex_unit strings plus a comma for each */ if (VIR_ALLOC_N(regex, nextents * (strlen(regex_unit) + 1) + 1) < 0) goto cleanup; - strncat(regex, regex_unit, strlen(regex_unit)); + strcat(regex, regex_unit); for (i = 1; i < nextents; i++) { /* "," is the separator of "devices" field */ strcat(regex, ","); - strncat(regex, regex_unit, strlen(regex_unit)); + strcat(regex, regex_unit); } if (VIR_ALLOC(reg) < 0) -- 2.4.10 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list