diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2007-04-06 20:12:18 +0000 |
|---|---|---|
| committer | joncruz <joncruz@users.sourceforge.net> | 2007-04-06 20:12:18 +0000 |
| commit | e5738bba197fec55b5cecd83c56be0a46fd006b6 (patch) | |
| tree | 563778ef93d06e2fea2003a73ca63409a25fef06 | |
| parent | Prevent null pointer dereferencing (diff) | |
| download | inkscape-e5738bba197fec55b5cecd83c56be0a46fd006b6.tar.gz inkscape-e5738bba197fec55b5cecd83c56be0a46fd006b6.zip | |
Additional null pointer checking
(bzr r2827)
| -rw-r--r-- | src/inkscape.cpp | 7 | ||||
| -rw-r--r-- | src/sp-style-elem-test.h | 18 |
2 files changed, 24 insertions, 1 deletions
diff --git a/src/inkscape.cpp b/src/inkscape.cpp index 829aacdc9..c167be493 100644 --- a/src/inkscape.cpp +++ b/src/inkscape.cpp @@ -731,7 +731,12 @@ inkscape_get_repr (Inkscape::Application *inkscape, const gchar *key) return NULL; } - Inkscape::XML::Node *repr = Inkscape::Preferences::get()->root(); + Inkscape::XML::Node *prefs = Inkscape::Preferences::get(); + if ( !prefs ) { + return NULL; + } + + Inkscape::XML::Node *repr = prefs->root(); if (!repr) return NULL; g_assert (!(strcmp (repr->name(), "inkscape"))); diff --git a/src/sp-style-elem-test.h b/src/sp-style-elem-test.h index 8f52e8afd..755fe4418 100644 --- a/src/sp-style-elem-test.h +++ b/src/sp-style-elem-test.h @@ -73,6 +73,12 @@ public: void testWrite() { + TS_ASSERT( _doc ); + TS_ASSERT( sp_document_repr_doc(_doc) ); + if ( !sp_document_repr_doc(_doc) ) { + return; // evil early return + } + SPStyleElem *style_elem = SP_STYLE_ELEM(g_object_new(SP_TYPE_STYLE_ELEM, NULL)); SP_OBJECT(style_elem)->document = _doc; @@ -93,6 +99,12 @@ public: void testBuild() { + TS_ASSERT( _doc ); + TS_ASSERT( sp_document_repr_doc(_doc) ); + if ( !sp_document_repr_doc(_doc) ) { + return; // evil early return + } + SPStyleElem &style_elem = *SP_STYLE_ELEM(g_object_new(SP_TYPE_STYLE_ELEM, NULL)); Inkscape::XML::Node *const repr = sp_document_repr_doc(_doc)->createElement("svg:style"); repr->setAttribute("type", "text/css"); @@ -115,6 +127,12 @@ public: void testReadContent() { + TS_ASSERT( _doc ); + TS_ASSERT( sp_document_repr_doc(_doc) ); + if ( !sp_document_repr_doc(_doc) ) { + return; // evil early return + } + SPStyleElem &style_elem = *SP_STYLE_ELEM(g_object_new(SP_TYPE_STYLE_ELEM, NULL)); Inkscape::XML::Node *const repr = sp_document_repr_doc(_doc)->createElement("svg:style"); repr->setAttribute("type", "text/css"); |
