﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
11245	contrib.gis.utils.GeoIP._check_query does not check for NULL pointer to _city or _country GeoIP libraries	andrewfox	jbronn	"In the _check_query method of geoip.py lines 344, 346, and 348 should not check self._city and/or self._country for 'is None' but instead for 'not self._city' or 'not self._country'.  self._city and self._country are ctype wrapped pointers; so even if they returned NULL from the C library (e.g. fopen failure), self._city and self._country would still be not None but instead their pointer values would be None.  Ctype checking for null pointers could be instead achieved by checking for 'not self._city'.

Referenced code (django/contrib/gis/utils/geoip.py (~line 344):
{{{
        # Extra checks for the existence of country and city databases.
        if city_or_country and self._country is None and self._city is None:
            raise GeoIPException('Invalid GeoIP country and city data files.')
        elif country and self._country is None:
            raise GeoIPException('Invalid GeoIP country data file: %s' % self._country_file)
        elif city and self._city is None:
            raise GeoIPException('Invalid GeoIP city data file: %s' % self._city_file)
}}}"		closed	GIS	1.0		fixed	geodjango, gis, geoip, ctype	andrewfox	Unreviewed	0	0	0	0	0	0
