diff options
| author | Julian Andres Klode <jak@debian.org> | 2009-06-09 17:29:57 +0200 |
|---|---|---|
| committer | Julian Andres Klode <jak@debian.org> | 2009-06-09 17:29:57 +0200 |
| commit | fc874b8b9507401a232d42fa7936148f76b0a1e2 (patch) | |
| tree | a1245d363d3439afa74c9d1a8ec2949622076ae7 /python/apt_pkgmodule.cc | |
| parent | b7f2997fc11283801260f54e9d84610265279aa0 (diff) | |
| download | python-apt-fc874b8b9507401a232d42fa7936148f76b0a1e2.tar.gz | |
python/cache.cc: Fix segfaults using the new allocation methods.
We switched to using tp_alloc() to create new objects. Some types
had no tp_flags set and were not initialized using PyType_Ready,
causing tp_alloc (PyType_GenericAlloc) to crash.
Diffstat (limited to 'python/apt_pkgmodule.cc')
| -rw-r--r-- | python/apt_pkgmodule.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/python/apt_pkgmodule.cc b/python/apt_pkgmodule.cc index 085d12f4..95b72de4 100644 --- a/python/apt_pkgmodule.cc +++ b/python/apt_pkgmodule.cc @@ -547,6 +547,7 @@ extern "C" void initapt_pkg() // Finalize our types to add slots, etc. if (PyType_Ready(&ConfigurationPtrType) == -1) INIT_ERROR; if (PyType_Ready(&ConfigurationSubType) == -1) INIT_ERROR; + if (PyType_Ready(&PkgCacheFileType) == -1) INIT_ERROR; // Initialize the module #if PY_MAJOR_VERSION >= 3 @@ -577,8 +578,8 @@ extern "C" void initapt_pkg() ADDTYPE(Module,"Dependency",&DependencyType); // NO __new__() ADDTYPE(Module,"Description",&DescriptionType); // NO __new__() ADDTYPE(Module,"PackageFile",&PackageFileType); // NO __new__() - //ADDTYPE(Module,"PackageList",&PkgListType); // NO __new__(), internal - //ADDTYPE(Module,"DependencyList",&RDepListType); // NO __new__(), internal + ADDTYPE(Module,"PackageList",&PkgListType); // NO __new__(), internal + ADDTYPE(Module,"DependencyList",&RDepListType); // NO __new__(), internal ADDTYPE(Module,"Package",&PackageType); // NO __new__() ADDTYPE(Module,"Version",&VersionType); // NO __new__() /* ============================ cdrom.cc ============================ */ |
