From f00d1515b6971d31a78ecf3290705edb9f65740c Mon Sep 17 00:00:00 2001 From: Vlad Vissoultchev Date: Thu, 4 Nov 2021 10:27:57 +0200 Subject: [PATCH] Add sanity check for GUIDs in SupportedOS directives (#30) Thanks go to @jpbro for reporting the issue --- README.md | 2 +- Src/Ummm.vbp | 8 ++++---- Src/mdUmmm.bas | 15 ++++++++++++--- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index b1ea490..862fae4 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Here is a sample ini file for the sample solution above: Dependency ClrComponent.dll /u Dependency ComCtl -`Identity` command is needed to produce `assemblyIdentity` tag in the output manifest. The parameters of the command are `` and optional `[name]` and `[description]`. The path of the `` paramter sets the base path of the application, so that relative paths in next commands are based on this application path. +`Identity` command is needed to produce `assemblyIdentity` tag in the output manifest. The parameters of the command are `` and optional `[name]` and `[description]`. The path of the `` parameter sets the base path of the application, so that relative paths in next commands are based on this application path. ### Referencing COM components diff --git a/Src/Ummm.vbp b/Src/Ummm.vbp index 59f5e60..1259f57 100644 --- a/Src/Ummm.vbp +++ b/Src/Ummm.vbp @@ -10,17 +10,17 @@ Path32=".." Command32="" Name="Ummm" HelpContextID="0" -Description="Unattended MMM 1.0.15" +Description="Unattended MMM 1.0.16" CompatibleMode="0" MajorVer=1 MinorVer=0 -RevisionVer=15 +RevisionVer=16 AutoIncrementVer=0 ServerSupportFiles=0 VersionComments="Unattended MMM" VersionCompanyName="Unicontsoft" -VersionFileDescription="Unattended MMM 1.0.15" -VersionLegalCopyright="Copyright (c) 2009-2020 by wqweto@gmail.com" +VersionFileDescription="Unattended MMM 1.0.16" +VersionLegalCopyright="Copyright (c) 2009-2021 by wqweto@gmail.com" CompilationType=0 OptimizationType=0 FavorPentiumPro(tm)=0 diff --git a/Src/mdUmmm.bas b/Src/mdUmmm.bas index 43ff77e..9b6fa10 100644 --- a/Src/mdUmmm.bas +++ b/Src/mdUmmm.bas @@ -2,7 +2,7 @@ Attribute VB_Name = "mdUmmm" '========================================================================= ' ' Unattended Make My Manifest Project -' Copyright (c) 2009-2020 wqweto@gmail.com +' Copyright (c) 2009-2021 wqweto@gmail.com ' '========================================================================= Option Explicit @@ -614,8 +614,11 @@ Private Function pvDumpSupportedOs(vRow As Variant, cOutput As Collection) As Bo Case "win10" sGuid = "{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" Case Else - '--- this has to be properly escaped attribute value - sGuid = At(vRow, lIdx) + If pvIsGuid(At(vRow, lIdx)) Then + sGuid = At(vRow, lIdx) + Else + sGuid = vbNullString + End If End Select If LenB(sGuid) <> 0 Then cOutput.Add Printf(" ", sGuid) @@ -957,3 +960,9 @@ Private Function pvGetProgID(sClsID As String) As String Call CoTaskMemFree(lPtr) End If End Function + +Private Function pvIsGuid(ByVal sValue As String) As Boolean + Const EMPTY_GUID As String = "{00000000-0000-0000-0000-000000000000}" + pvIsGuid = sValue Like Replace(EMPTY_GUID, "0", "[0-9a-fA-F]") +End Function +