diff -ru sbin/ldconfig.orig/ldconfig.c sbin/ldconfig/ldconfig.c --- sbin/ldconfig.orig/ldconfig.c 2004-10-25 20:44:27.000000000 -0200 +++ sbin/ldconfig/ldconfig.c 2004-10-25 20:44:41.000000000 -0200 @@ -277,7 +277,7 @@ continue; /* Copy the entry minus prefix */ - (void)strcpy(name, dp->d_name + 3); + strlcpy(name, dp->d_name + 3, sizeof(name)); n = strlen(name); if (n < 4) continue; @@ -439,11 +439,11 @@ /* Insert strings in string table */ bp->hi_namex = str_index; - strcpy(strtab + str_index, shp->name); + strlcpy(strtab + str_index, shp->name, strtab_sz - str_index); str_index += 1 + strlen(shp->name); bp->hi_pathx = str_index; - strcpy(strtab + str_index, shp->path); + strlcpy(strtab + str_index, shp->path, strtab_sz - str_index); str_index += 1 + strlen(shp->path); /* Copy versions */ @@ -452,7 +452,7 @@ } /* Copy search directories */ - strcpy(strtab + str_index, dir_list); + strlcpy(strtab + str_index, dir_list, strtab_sz - str_index); str_index += 1 + strlen(dir_list); /* Sanity check */