Cleanup: remove strcpy usage

This commit is contained in:
Campbell Barton 2023-06-19 20:06:55 +10:00 • committed by Brecht Van Lommel
parent f13ebb09de
commit 5c04695de2

View file

@ -1459,6 +1459,8 @@ static int imb_exr_split_token(const char *str, const char *end, const char **to
static int imb_exr_split_channel_name(ExrChannel *echan, char *layname, char *passname)
{
const int layname_maxncpy = EXR_TOT_MAXNAME;
const int passname_maxncpy = EXR_TOT_MAXNAME;
const char *name = echan->m->name.c_str();
const char *end = name + strlen(name);
const char *token;
@ -1469,13 +1471,13 @@ static int imb_exr_split_channel_name(ExrChannel *echan, char *layname, char *pa
layname[0] = '\0';
if (ELEM(name[0], 'R', 'G', 'B', 'A')) {
strcpy(passname, "Combined");
BLI_strncpy(passname, "Combined", passname_maxncpy);
}
else if (name[0] == 'Z') {
strcpy(passname, "Depth");
BLI_strncpy(passname, "Depth", passname_maxncpy);
}
else {
strcpy(passname, name);
BLI_strncpy(passname, name, passname_maxncpy);
}
return 1;
@ -1544,7 +1546,7 @@ static int imb_exr_split_channel_name(ExrChannel *echan, char *layname, char *pa
/* all preceding tokens combined as layer name */
if (end > name) {
BLI_strncpy(layname, name, (int)(end - name) + 1);
BLI_strncpy(layname, name, std::min(layname_maxncpy, int(end - name) + 1));
}
else {
layname[0] = '\0';