diff --git a/cfg.mk b/cfg.mk index 71b0866d52..3f78842a5b 100644 --- a/cfg.mk +++ b/cfg.mk @@ -1031,6 +1031,12 @@ sc_prohibit_not_strneq: halt='Use STREQ instead of !STRNEQ' \ $(_sc_search_regexp) +sc_prohibit_verbose_strcat: + @prohibit='strncat\([^,]*,\s+([^,]*),\s+strlen\(\1\)\)' \ + in_vc_files='\.[ch]$$' \ + halt='Use strcat(a, b) instead of strncat(a, b, strlen(b))' \ + $(_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 ba26223f14..f0d6f80383 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)