@@ -63,15 +63,15 @@ bool ffGetFileVersion(const wchar_t* filePath, const wchar_t* stringName, FFstrb
6363 }
6464
6565 wchar_t * value ;
66- UINT valueLen ;
66+ UINT valueLen ; // Number of characters, including null terminator
6767
6868 wchar_t subBlock [128 ];
6969 snwprintf (subBlock , ARRAY_SIZE (subBlock ), L"\\StringFileInfo\\" FF_VERSION_LANG_EN_US L"\\%ls" , stringName );
7070 FF_DEBUG ("query version string with default lang (en_US): %ls" , subBlock );
7171
7272 if (VerQueryValueW (versionData , subBlock , (void * * ) & value , & valueLen ) && valueLen > 0 )
7373 {
74- ffStrbufSetNWS (version , valueLen / sizeof ( wchar_t ) , value );
74+ ffStrbufSetNWS (version , valueLen - 1 , value );
7575 FF_DEBUG ("version string resolved (default lang): %s" , version -> chars );
7676 return true;
7777 }
@@ -90,7 +90,7 @@ bool ffGetFileVersion(const wchar_t* filePath, const wchar_t* stringName, FFstrb
9090
9191 if (VerQueryValueW (versionData , subBlock , (void * * ) & value , & valueLen ) && valueLen > 0 )
9292 {
93- ffStrbufSetNWS (version , valueLen / sizeof ( wchar_t ) , value );
93+ ffStrbufSetNWS (version , valueLen - 1 , value );
9494 FF_DEBUG ("version string resolved (translation fallback): %s" , version -> chars );
9595 return true;
9696 }
0 commit comments