From bc2472db8eeee545a2d815ec2e9ee71132d3b20c Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 30 Apr 1997 19:07:54 +0000 Subject: Avoid some potential (though unlikely) sprintf buffer overflows. --- Python/importdl.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Python/importdl.c b/Python/importdl.c index 16271d6..605d9a6 100644 --- a/Python/importdl.c +++ b/Python/importdl.c @@ -298,7 +298,8 @@ _PyImport_LoadDynamicModule(name, pathname, fp) (void)FSMakeFSSpec(0, 0, Pstring(pathname), &libspec); err = ResolveAliasFile(&libspec, 1, &isfolder, &didsomething); if ( err ) { - sprintf(buf, "%s: %s", pathname, PyMac_StrError(err)); + sprintf(buf, "%.255s: %.200s", + pathname, PyMac_StrError(err)); PyErr_SetString(PyExc_ImportError, buf); return NULL; } @@ -318,7 +319,8 @@ _PyImport_LoadDynamicModule(name, pathname, fp) kLoadCFrag, &connID, &mainAddr, errMessage); if ( err ) { - sprintf(buf, "%.*s: %s", errMessage[0], errMessage+1, + sprintf(buf, "%.*s: %.200s", + errMessage[0], errMessage+1, PyMac_StrError(err)); PyErr_SetString(PyExc_ImportError, buf); return NULL; @@ -326,7 +328,8 @@ _PyImport_LoadDynamicModule(name, pathname, fp) /* Locate the address of the correct init function */ err = FindSymbol(connID, Pstring(funcname), &symAddr, &class); if ( err ) { - sprintf(buf, "%s: %s", funcname, PyMac_StrError(err)); + sprintf(buf, "%s: %.200s", + funcname, PyMac_StrError(err)); PyErr_SetString(PyExc_ImportError, buf); return NULL; } -- cgit v0.12