Commit 76ec53c6 authored by Guido van Rossum's avatar Guido van Rossum

Subject: Bug in PC/import_nt.c

From: Dan Pierson <dan@remote.control.com>
To: "Mark Hammond (E-mail)" <MHammond@skippinet.com.au>,
    "Guido van Rossum (E-mail)" <guido@cnri.reston.va.us>
Date: Mon, 8 Jun 1998 17:25:07 -0400

RegistryQueryValue requires that its fourth argument be initialized to
the length of the buffer being passed in, this wasn't being done.  I
also split the call and status test into two lines with a local variable
so that I could look at the status in the debugger.
parent 60f2f0cf
...@@ -45,6 +45,7 @@ FILE *PyWin_FindRegisteredModule( const char *moduleName, struct filedescr **ppF ...@@ -45,6 +45,7 @@ FILE *PyWin_FindRegisteredModule( const char *moduleName, struct filedescr **ppF
FILE *fp; FILE *fp;
HKEY keyBase = PyWin_IsWin32s() ? HKEY_CLASSES_ROOT : HKEY_LOCAL_MACHINE; HKEY keyBase = PyWin_IsWin32s() ? HKEY_CLASSES_ROOT : HKEY_LOCAL_MACHINE;
int modNameSize; int modNameSize;
long regStat;
// Calculate the size for the sprintf buffer. // Calculate the size for the sprintf buffer.
// Get the size of the chars only, plus 1 NULL. // Get the size of the chars only, plus 1 NULL.
...@@ -53,7 +54,9 @@ FILE *PyWin_FindRegisteredModule( const char *moduleName, struct filedescr **ppF ...@@ -53,7 +54,9 @@ FILE *PyWin_FindRegisteredModule( const char *moduleName, struct filedescr **ppF
moduleKey = alloca(bufSize); moduleKey = alloca(bufSize);
sprintf(moduleKey, "Software\\Python\\PythonCore\\%s\\Modules\\%s%s", PyWin_DLLVersionString, moduleName, debugString); sprintf(moduleKey, "Software\\Python\\PythonCore\\%s\\Modules\\%s%s", PyWin_DLLVersionString, moduleName, debugString);
if (RegQueryValue(keyBase, moduleKey, pathBuf, &modNameSize)!=ERROR_SUCCESS) modNameSize = bufSize;
regStat = RegQueryValue(keyBase, moduleKey, pathBuf, &modNameSize);
if (regStat!=ERROR_SUCCESS)
return NULL; return NULL;
// use the file extension to locate the type entry. // use the file extension to locate the type entry.
for (fdp = _PyImport_Filetab; fdp->suffix != NULL; fdp++) { for (fdp = _PyImport_Filetab; fdp->suffix != NULL; fdp++) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment