Commit 08124d95 authored by sagnowski's avatar sagnowski
Browse files

IVAS_rend: Do not allow empty strings as valid ISM metadata file paths

parent f4c2831a
Loading
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -564,12 +564,19 @@ static void setupWithSingleFormatInput(
        positionProvider->numObjects = args.inConfig.numAudioObjects;
        for ( int16_t i = 0; i < positionProvider->numObjects; ++i )
        {
            /* It is allowed on CLI to have no metadata for an ISM input - skip opening if string is empty or contains "NULL" */
            /* Check if path to metadata file was given */
            if ( isEmptyString( args.inMetadataFilePaths[i] ) )
            {
                fprintf( stderr, "No metadata file was given for ISM input %d\n", i );
                exit( -1 );
            }

            /* It is allowed on CLI to have no metadata for an ISM input - skip opening if string contains "NULL" */
            char charBuf[FILENAME_MAX];
            strncpy( charBuf, args.inMetadataFilePaths[i], min( FILENAME_MAX, RENDERER_MAX_CLI_ARG_LENGTH ) - 1 );
            charBuf[min( FILENAME_MAX, RENDERER_MAX_CLI_ARG_LENGTH ) - 1] = '\0';
            to_upper( charBuf );
            if ( isEmptyString( args.inMetadataFilePaths[i] ) || strncmp( charBuf, "NULL", 4 ) == 0 )
            if ( strncmp( charBuf, "NULL", 4 ) == 0 )
            {
                continue;
            }
@@ -2595,7 +2602,7 @@ static CmdlnArgs defaultArgs(
    args.outConfig.outSetupCustom.num_lfe = 0;
    args.inConfig.ambisonicsBuses->audioConfig = IVAS_AUDIO_CONFIG_INVALID;

    for ( int32_t i = 0; i < RENDERER_MAX_ISM_INPUTS; ++i )
    for ( int32_t i = 0; i < RENDERER_MAX_ISM_INPUTS + RENDERER_MAX_MASA_INPUTS; ++i )
    {
        clearString( args.inMetadataFilePaths[i] );
    }