Skip to content

Commit d8e70e4

Browse files
committed
Improve null string handling for color replated types
1 parent 3765804 commit d8e70e4

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

src/framework/mlt_image.c

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -323,11 +323,12 @@ const char *mlt_image_color_trc_name(mlt_color_trc trc)
323323

324324
mlt_color_trc mlt_image_color_trc_id(const char *name)
325325
{
326-
mlt_color_trc c;
327-
if (name == NULL) {
326+
if (!name) {
328327
return mlt_color_trc_none;
329328
}
330-
for (c = mlt_color_trc_none; name && c <= mlt_color_trc_invalid; c++) {
329+
330+
mlt_color_trc c;
331+
for (c = mlt_color_trc_none; c <= mlt_color_trc_invalid; c++) {
331332
const char *s = mlt_image_color_trc_name(c);
332333
if (!strcmp(s, name))
333334
return c;
@@ -378,6 +379,9 @@ const char *mlt_image_colorspace_name(mlt_colorspace colorspace)
378379

379380
mlt_colorspace mlt_image_colorspace_id(const char *name)
380381
{
382+
if (!name) {
383+
return mlt_colorspace_invalid;
384+
}
381385
const mlt_colorspace colorspaces[] = {mlt_colorspace_rgb,
382386
mlt_colorspace_bt709,
383387
mlt_colorspace_unspecified,
@@ -398,7 +402,7 @@ mlt_colorspace mlt_image_colorspace_id(const char *name)
398402
if (!value && strcmp(name, "0"))
399403
value = -1; // strtol returned an error;
400404

401-
for (int i = 0; name && i < sizeof(colorspaces); i++) {
405+
for (int i = 0; i < sizeof(colorspaces); i++) {
402406
const char *s = mlt_image_colorspace_name(colorspaces[i]);
403407
if (value == colorspaces[i] || !strcmp(s, name))
404408
return colorspaces[i];
@@ -438,6 +442,10 @@ const char *mlt_image_color_pri_name(mlt_color_primaries primaries)
438442

439443
mlt_color_primaries mlt_image_color_pri_id(const char *name)
440444
{
445+
if (!name) {
446+
return mlt_color_pri_none;
447+
}
448+
441449
const mlt_color_primaries primaries[] = {mlt_color_pri_none,
442450
mlt_color_pri_bt709,
443451
mlt_color_pri_bt470m,
@@ -451,9 +459,6 @@ mlt_color_primaries mlt_image_color_pri_id(const char *name)
451459
mlt_color_pri_invalid};
452460

453461
// Fall back to see if it was specified as a number
454-
if (name == NULL) {
455-
return mlt_color_pri_none;
456-
}
457462
int value = strtol(name, NULL, 10);
458463
if (!value && strcmp(name, "0"))
459464
value = -1; // strtol returned an error;

0 commit comments

Comments
 (0)