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/cache.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/cache.cc')
| -rw-r--r-- | python/cache.cc | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/python/cache.cc b/python/cache.cc index 38b715de..c988145f 100644 --- a/python/cache.cc +++ b/python/cache.cc @@ -374,6 +374,12 @@ PyTypeObject PkgCacheFileType = 0, // tp_as_sequence 0, // tp_as_mapping 0, // tp_hash + 0, // tp_call + 0, // tp_str + 0, // tp_getattro + 0, // tp_setattro + 0, // tp_as_buffer + Py_TPFLAGS_DEFAULT, // tp_flags }; /*}}}*/ // Package List Class /*{{{*/ @@ -444,6 +450,12 @@ PyTypeObject PkgListType = &PkgListSeq, // tp_as_sequence 0, // tp_as_mapping 0, // tp_hash + 0, // tp_call + 0, // tp_str + 0, // tp_getattro + 0, // tp_setattro + 0, // tp_as_buffer + Py_TPFLAGS_DEFAULT , // tp_flags }; #define MkGet(PyFunc,Ret) static PyObject *PyFunc(PyObject *Self,void*) \ @@ -656,7 +668,7 @@ PyTypeObject DescriptionType = 0, // tp_setattro 0, // tp_as_buffer Py_TPFLAGS_DEFAULT, // tp_flags - "AcquireItem Object", // tp_doc + "apt_pkg.Description Object", // tp_doc 0, // tp_traverse 0, // tp_clear 0, // tp_richcompare @@ -1340,6 +1352,12 @@ PyTypeObject RDepListType = &RDepListSeq, // tp_as_sequence 0, // tp_as_mapping 0, // tp_hash + 0, // tp_call + 0, // tp_str + 0, // tp_getattro + 0, // tp_setattro + 0, // tp_as_buffer + Py_TPFLAGS_DEFAULT, // tp_flags }; /*}}}*/ |
