view Python/dynload_dl.c @ 79005:2fa7c104f909

Fix out of bounds read in long_new() for empty bytes with an explicit base. int(b'', somebase) calls PyLong_FromString() with char* of length 1 but the function accesses the first argument at offset 1. CID 715359
author Christian Heimes <christian@cheimes.de>
date Wed, 12 Sep 2012 15:32:06 +0200
parents 257cbd2fac38
children
line wrap: on
line source


/* Support for dynamic loading of extension modules */

#include "dl.h"

#include "Python.h"
#include "importdl.h"


extern char *Py_GetProgramName(void);

const char *_PyImport_DynLoadFiletab[] = {".o", NULL};


dl_funcptr _PyImport_GetDynLoadFunc(const char *shortname,
                                    const char *pathname, FILE *fp)
{
    char funcname[258];

    PyOS_snprintf(funcname, sizeof(funcname), "PyInit_%.200s", shortname);
    return dl_loadmod(Py_GetProgramName(), pathname, funcname);
}