From aa842db0c3c8d82f007f63e3e57c1f0670493ec8 Mon Sep 17 00:00:00 2001 From: Doug Walker Date: Sat, 18 Apr 2026 17:30:37 -0400 Subject: [PATCH] Fix observed behavior Signed-off-by: Doug Walker --- src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp | 4 ++-- src/OpenColorIO/fileformats/FileFormatIridasCube.cpp | 8 ++++---- src/OpenColorIO/fileformats/FileFormatSpi1D.cpp | 8 ++++---- src/OpenColorIO/fileformats/FileFormatSpi3D.cpp | 5 ++--- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp b/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp index 6a76d968d4..31e8ae519f 100755 --- a/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp +++ b/src/OpenColorIO/fileformats/FileFormatDiscreet1DL.cpp @@ -411,9 +411,9 @@ int Lut1dUtils::IMLutGet( { char dstDepthS[16] = ""; #ifdef _WIN32 - const int nummatched = sscanf(InString, "%*s %d %d %s", &numtables, &length, dstDepthS, 16); + const int nummatched = sscanf_s(InString, "%*s %d %d %15s", &numtables, &length, dstDepthS, 16); #else - const int nummatched = sscanf(InString, "%*s %d %d %s", &numtables, &length, dstDepthS); + const int nummatched = sscanf(InString, "%*s %d %d %15s", &numtables, &length, dstDepthS); #endif std::string subStr(InString, 5); if (nummatched < 2 || diff --git a/src/OpenColorIO/fileformats/FileFormatIridasCube.cpp b/src/OpenColorIO/fileformats/FileFormatIridasCube.cpp index ca2965e373..3a5b5ed79b 100755 --- a/src/OpenColorIO/fileformats/FileFormatIridasCube.cpp +++ b/src/OpenColorIO/fileformats/FileFormatIridasCube.cpp @@ -241,9 +241,9 @@ LocalFileFormat::read(std::istream & istream, char domainMinB[64] = ""; #ifdef _WIN32 - if (sscanf_s(line.c_str(), "domain_min %s %s %s %c", domainMinR, 64, domainMinG, 64, domainMinB, 64, &endTok, 1) != 3) + if (sscanf_s(line.c_str(), "domain_min %63s %63s %63s %c", domainMinR, 64, domainMinG, 64, domainMinB, 64, &endTok, 1) != 3) #else - if (sscanf(line.c_str(), "domain_min %s %s %s %c", domainMinR, domainMinG, domainMinB, &endTok) != 3) + if (sscanf(line.c_str(), "domain_min %63s %63s %63s %c", domainMinR, domainMinG, domainMinB, &endTok) != 3) #endif { ThrowErrorMessage( @@ -275,9 +275,9 @@ LocalFileFormat::read(std::istream & istream, char domainMaxB[64] = ""; #ifdef _WIN32 - if (sscanf_s(line.c_str(), "domain_max %s %s %s %c", domainMaxR, 64, domainMaxG, 64, domainMaxB, 64, &endTok, 1) != 3) + if (sscanf_s(line.c_str(), "domain_max %63s %63s %63s %c", domainMaxR, 64, domainMaxG, 64, domainMaxB, 64, &endTok, 1) != 3) #else - if (sscanf(line.c_str(), "domain_max %s %s %s %c", domainMaxR, domainMaxG, domainMaxB, &endTok) != 3) + if (sscanf(line.c_str(), "domain_max %63s %63s %63s %c", domainMaxR, domainMaxG, domainMaxB, &endTok) != 3) #endif { ThrowErrorMessage( diff --git a/src/OpenColorIO/fileformats/FileFormatSpi1D.cpp b/src/OpenColorIO/fileformats/FileFormatSpi1D.cpp index 1cdc51b22c..d65df00065 100755 --- a/src/OpenColorIO/fileformats/FileFormatSpi1D.cpp +++ b/src/OpenColorIO/fileformats/FileFormatSpi1D.cpp @@ -135,9 +135,9 @@ CachedFileRcPtr LocalFileFormat::read(std::istream & istream, char fromMinS[64] = ""; char fromMaxS[64] = ""; #ifdef _WIN32 - if (sscanf_s(lineBuffer, "From %s %s", fromMinS, 64, fromMaxS, 64) != 2) + if (sscanf_s(lineBuffer, "From %63s %63s", fromMinS, 64, fromMaxS, 64) != 2) #else - if (sscanf(lineBuffer, "From %s %s", fromMinS, fromMaxS) != 2) + if (sscanf(lineBuffer, "From %63s %63s", fromMinS, fromMaxS) != 2) #endif { ThrowErrorMessage("Invalid 'From' Tag", currentLine, headerLine); @@ -219,11 +219,11 @@ CachedFileRcPtr LocalFileFormat::read(std::istream & istream, char inputLUT[4][64] = {"", "", "", ""}; #ifdef _WIN32 - if (sscanf_s(lineBuffer, "%s %s %s %63s", inputLUT[0], 64, + if (sscanf_s(lineBuffer, "%63s %63s %63s %63s", inputLUT[0], 64, inputLUT[1], 64, inputLUT[2], 64, inputLUT[3], 64) != components) #else - if (sscanf(lineBuffer, "%s %s %s %63s", inputLUT[0], + if (sscanf(lineBuffer, "%63s %63s %63s %63s", inputLUT[0], inputLUT[1], inputLUT[2], inputLUT[3]) != components) #endif { diff --git a/src/OpenColorIO/fileformats/FileFormatSpi3D.cpp b/src/OpenColorIO/fileformats/FileFormatSpi3D.cpp index c3ef153f43..2ac75422f9 100755 --- a/src/OpenColorIO/fileformats/FileFormatSpi3D.cpp +++ b/src/OpenColorIO/fileformats/FileFormatSpi3D.cpp @@ -153,14 +153,13 @@ CachedFileRcPtr LocalFileFormat::read(std::istream & istream, char blueValueS[64] = ""; #ifdef _WIN32 - if (sscanf(lineBuffer, - "%d %d %d %s %s %s", + if (sscanf_s(lineBuffer, "%d %d %d %63s %63s %63s", &rIndex, &gIndex, &bIndex, redValueS, 64, greenValueS, 64, blueValueS, 64) == 6) #else - if (sscanf(lineBuffer, "%d %d %d %s %s %s", + if (sscanf(lineBuffer, "%d %d %d %63s %63s %63s", &rIndex, &gIndex, &bIndex, redValueS, greenValueS, blueValueS) == 6) #endif