[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#369147: GetCache() segfaults if called before InitSystem()



tag 369147 patch
thanks

* Josh Triplett <josh@freedesktop.org>, [2006-05-27 13:02 -0700]:
>  apt_pkg.GetCache() segfaults if called before apt_pkg.InitSystem():
>  
>  >>> import apt_pkg
>  >>> apt_pkg.GetCache()
>  Segmentation fault
>  
>  It should raise an exception like other functions do:
>  
>  >>> import apt_pkg
>  >>> apt_pkg.VersionCompare("1","2")
>  Traceback (most recent call last):
>    File "<stdin>", line 1, in ?
>  ValueError: _system not initialized

The attached patch fixes this bug, please consider applying it.

Thanks.
ciao,
    ema
diff -Nru python-apt-0.7.6/python/cache.cc python-apt-0.7.6/python/cache.cc
--- python-apt-0.7.6/python/cache.cc    2008-06-17 17:26:33.000000000 +0200
+++ python-apt-0.7.6/python/cache.cc    2008-07-12 19:31:15.000000000 +0200
@@ -928,6 +928,11 @@
    if (PyArg_ParseTuple(Args, "|O", &pyCallbackInst) == 0)
       return 0;
 
+    if (_system == 0) {
+        PyErr_SetString(PyExc_ValueError,"_system not initialized");
+        return 0;
+    }
+
    pkgCacheFile *Cache = new pkgCacheFile();
 
    if(pyCallbackInst != 0) {

Reply to: