From: martin-s Date: Sun, 4 Nov 2007 17:33:30 +0000 (+0000) Subject: Fixed a segfault when a map can't be loaded X-Git-Tag: navit-0.5.0.5194svn~4636 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cf1ab0bd20d8317416d501e9d8d16fc2a32d96ba;p=profile%2Fivi%2Fnavit.git Fixed a segfault when a map can't be loaded git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@513 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- diff --git a/navit/src/data/binfile/binfile.c b/navit/src/data/binfile/binfile.c index 5a7edf6..435e037 100644 --- a/navit/src/data/binfile/binfile.c +++ b/navit/src/data/binfile/binfile.c @@ -319,6 +319,11 @@ map_new_binfile(struct map_methods *meth, struct attr **attrs) m->filename=g_strdup(wexp_data[0]); dbg(0,"file_create %s\n", m->filename); m->fi=file_create(m->filename); + if (! m->fi) { + dbg(0,"Failed to load %s\n", m->filename); + g_free(m); + return NULL; + } file_wordexp_destroy(wexp); magic=(int *)(m->fi->begin); if (*magic == 0x04034b50) { diff --git a/navit/src/map.c b/navit/src/map.c index facf6da..4888597 100644 --- a/navit/src/map.c +++ b/navit/src/map.c @@ -41,6 +41,10 @@ map_new(const char *type, struct attr **attrs) if (data) m->filename=g_strdup(data->u.str); m->priv=maptype_new(&m->meth, attrs); + if (! m->priv) { + g_free(m); + m=NULL; + } return m; }