Skip to content

Commit

Permalink
[pki] fix handling of non western paths during cat generation
Browse files Browse the repository at this point in the history
* Closes #177
  • Loading branch information
pbatard committed Mar 28, 2020
1 parent 38c8a5d commit 21d23dd
Show file tree
Hide file tree
Showing 8 changed files with 24 additions and 25 deletions.
8 changes: 4 additions & 4 deletions examples/wdi-simple.rc
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
#endif

VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,3,727,0
PRODUCTVERSION 1,3,727,0
FILEVERSION 1,3,728,0
PRODUCTVERSION 1,3,728,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
Expand All @@ -25,13 +25,13 @@ BEGIN
BEGIN
VALUE "CompanyName", "akeo.ie"
VALUE "FileDescription", "WDI-Simple"
VALUE "FileVersion", "1.3.727"
VALUE "FileVersion", "1.3.728"
VALUE "InternalName", "WDI-Simple"
VALUE "LegalCopyright", "� 2010-2018 Pete Batard (LGPL v3)"
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/lesser.html"
VALUE "OriginalFilename", "wdi-simple.exe"
VALUE "ProductName", "WDI-Simple"
VALUE "ProductVersion", "1.3.727"
VALUE "ProductVersion", "1.3.728"
VALUE "Comments", "http://libwdi.akeo.ie"
END
END
Expand Down
8 changes: 4 additions & 4 deletions examples/zadic.rc
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ END
//

VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,3,727,0
PRODUCTVERSION 1,3,727,0
FILEVERSION 1,3,728,0
PRODUCTVERSION 1,3,728,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
Expand All @@ -74,13 +74,13 @@ BEGIN
BEGIN
VALUE "CompanyName", "akeo.ie"
VALUE "FileDescription", "Zadic"
VALUE "FileVersion", "1.3.727"
VALUE "FileVersion", "1.3.728"
VALUE "InternalName", "Zadic"
VALUE "LegalCopyright", "� 2010-2018 Pete Batard (LGPL v3)"
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/lesser.html"
VALUE "OriginalFilename", "zadic.exe"
VALUE "ProductName", "Zadic"
VALUE "ProductVersion", "1.3.727"
VALUE "ProductVersion", "1.3.728"
VALUE "Comments", "http://libwdi.akeo.ie"
END
END
Expand Down
2 changes: 1 addition & 1 deletion examples/zadig.c
Original file line number Diff line number Diff line change
Expand Up @@ -1007,7 +1007,7 @@ BOOL parse_ini(void) {

// Check if the ini file exists
if (GetFileAttributesU(INI_NAME) == INVALID_FILE_ATTRIBUTES) {
dprintf("ini file '%s' not found - default parameters will be used", INI_NAME);
dprintf("ini file '%s' not found in '%s' - default parameters will be used", INI_NAME, app_dir);
return FALSE;
}

Expand Down
2 changes: 1 addition & 1 deletion examples/zadig.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
#define FIELD_ORANGE RGB(255,240,200)
#define ARROW_GREEN RGB(92,228,65)
#define ARROW_ORANGE RGB(253,143,56)
#define APP_VERSION "Zadig 2.4.727"
#define APP_VERSION "Zadig 2.4.728"

// These are used to flag end users about the driver they are going to replace
enum driver_type {
Expand Down
8 changes: 4 additions & 4 deletions examples/zadig.rc
Original file line number Diff line number Diff line change
Expand Up @@ -246,8 +246,8 @@ END
//

VS_VERSION_INFO VERSIONINFO
FILEVERSION 2,4,727,0
PRODUCTVERSION 2,4,727,0
FILEVERSION 2,4,728,0
PRODUCTVERSION 2,4,728,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
Expand All @@ -264,13 +264,13 @@ BEGIN
BEGIN
VALUE "CompanyName", "akeo.ie"
VALUE "FileDescription", "Zadig"
VALUE "FileVersion", "2.4.727"
VALUE "FileVersion", "2.4.728"
VALUE "InternalName", "Zadig"
VALUE "LegalCopyright", "� 2010-2018 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
VALUE "OriginalFilename", "zadig.exe"
VALUE "ProductName", "Zadig"
VALUE "ProductVersion", "2.4.727"
VALUE "ProductVersion", "2.4.728"
VALUE "Comments", "http://libwdi.akeo.ie"
END
END
Expand Down
3 changes: 2 additions & 1 deletion libwdi/libwdi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1302,7 +1302,8 @@ int LIBWDI_API wdi_prepare_driver(struct wdi_device_info* device_info, const cha
while (isspace(*token)) token++;
while (strlen(token) && isspace(token[strlen(token)-1]))
token[strlen(token)-1] = 0;
if ((*token == '#') || (*token == 0)) continue;
if ((*token == '#') || (*token == 0))
continue;
cat_list[nb_entries++] = token;
if (nb_entries >= CAT_LIST_MAX_ENTRIES) {
wdi_warn("more than %d cat entries - ignoring the rest", CAT_LIST_MAX_ENTRIES);
Expand Down
8 changes: 4 additions & 4 deletions libwdi/libwdi.rc
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ END
//

VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,3,727,0
PRODUCTVERSION 1,3,727,0
FILEVERSION 1,3,728,0
PRODUCTVERSION 1,3,728,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
Expand All @@ -68,13 +68,13 @@ BEGIN
BEGIN
VALUE "CompanyName", "akeo.ie"
VALUE "FileDescription", "libwdi: Windows Driver Installer Library"
VALUE "FileVersion", "1.3.727"
VALUE "FileVersion", "1.3.728"
VALUE "InternalName", "libwdi"
VALUE "LegalCopyright", "� 2010-2017 Pete Batard (LGPL v3)"
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/lesser.html"
VALUE "OriginalFilename", "libwdi"
VALUE "ProductName", "libwdi"
VALUE "ProductVersion", "1.3.727"
VALUE "ProductVersion", "1.3.728"
VALUE "Comments", "http://libwdi.akeo.ie"
END
END
Expand Down
10 changes: 4 additions & 6 deletions libwdi/pki.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
#include "mssign32.h"

#include <config.h>
#include "msapi_utf8.h"
#include "installer.h"
#include "libwdi.h"
#include "logging.h"
Expand Down Expand Up @@ -1224,13 +1225,9 @@ static BOOL GetFullPath(LPCSTR szSrc, LPSTR szDst, DWORD dwDstSize)
if ((szSrcCopy = (LPSTR)malloc(strlen(szSrc) + 1)) == NULL) return 1;
memcpy(szSrcCopy, szSrc, strlen(szSrc) + 1);
HandleSeparators(szSrcCopy);
r = GetFullPathNameA(szSrcCopy, (DWORD)dwDstSize, szDst, NULL);
r = GetFullPathNameU(szSrcCopy, (DWORD)dwDstSize, szDst, NULL);
free(szSrcCopy);
if ((r != 0) && (r <= dwDstSize)) {
return TRUE;
}
fprintf(stderr, "Unable to get full path for '%s'.\n", szSrc);
return FALSE;
return ((r != 0) && (r <= dwDstSize));
}

// Modified from http://www.zemris.fer.hr/predmeti/os1/misc/Unix2Win.htm
Expand Down Expand Up @@ -1352,6 +1349,7 @@ BOOL CreateCat(LPCSTR szCatPath, LPCSTR szHWID, LPCSTR szSearchDir, LPCSTR* szFi

// Setup the hash file members
if (!GetFullPath(szSearchDir, szInitialDir, sizeof(szInitialDir))) {
wdi_warn("Unable to get full path for '%s'.\n", szSearchDir);
goto out;
}
// Make sure the list entries are all lowercase
Expand Down

0 comments on commit 21d23dd

Please sign in to comment.