Convert strncpy to strlcpy
authorDaniel Gustafsson <dgustafsson@postgresql.org>
Wed, 30 Apr 2025 21:00:47 +0000 (23:00 +0200)
committerDaniel Gustafsson <dgustafsson@postgresql.org>
Wed, 30 Apr 2025 21:00:47 +0000 (23:00 +0200)
We try to avoid using strncpy() due to the ease of which it can
be misused.  Convert this callsite to use strlcpy() instead to
match similar codepaths in this file.

Suggested-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://postgr.es/m/2a796830-de2d-4030-b480-d673f6cc5d94@eisentraut.org

src/backend/utils/mmgr/mcxt.c

index 69884701fb4f4c1fe14b12349148d8f57fe52f49..7d28ca706eb559e1ca582f4f76715c3dfb0289b3 100644 (file)
@@ -1664,8 +1664,7 @@ ProcessGetMemoryContextInterrupt(void)
            num_individual_stats = context_id + 1;
            meminfo[max_stats - 1].name = dsa_allocate(MemoryStatsDsaArea, namelen + 1);
            nameptr = dsa_get_address(MemoryStatsDsaArea, meminfo[max_stats - 1].name);
-           strncpy(nameptr, "Remaining Totals", namelen);
-           nameptr[namelen] = '\0';
+           strlcpy(nameptr, "Remaining Totals", namelen + 1);
            meminfo[max_stats - 1].ident = InvalidDsaPointer;
            meminfo[max_stats - 1].path = InvalidDsaPointer;
            meminfo[max_stats - 1].type = 0;