[gtksourceviewmm/devel] Fix possible NULL pointers dereferences.
- From: Krzesimir Nowak <krnowak src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gtksourceviewmm/devel] Fix possible NULL pointers dereferences.
- Date: Wed, 13 Jan 2010 00:09:56 +0000 (UTC)
commit 804027208476174649df8e747a9ba4ebdefe677c
Author: Krzesimir Nowak <qdlacz gmail com>
Date: Wed Jan 13 00:30:41 2010 +0100
Fix possible NULL pointers dereferences.
* gtksourceview/src/sourcecompletioncontext.hg: Use Glib::unwrap
instead of ->.
* gtksourceview/src/sourcemark.ccg: Insert checks for NULL pointer
before calling reference on them.
gtksourceview/src/sourcecompletioncontext.hg | 2 +-
gtksourceview/src/sourcemark.ccg | 20 ++++++++++++++++----
2 files changed, 17 insertions(+), 5 deletions(-)
---
diff --git a/gtksourceview/src/sourcecompletioncontext.hg b/gtksourceview/src/sourcecompletioncontext.hg
index aa1e77a..768aaa1 100644
--- a/gtksourceview/src/sourcecompletioncontext.hg
+++ b/gtksourceview/src/sourcecompletioncontext.hg
@@ -42,7 +42,7 @@ class SourceCompletionContext : public Glib::Object
{
_CLASS_GOBJECT(SourceCompletionContext, GtkSourceCompletionContext, GTK_SOURCE_COMPLETION_CONTEXT, Glib::Object, GObject)
public:
-#m4 _CONVERSION(`const Glib::RefPtr<SourceCompletionProvider>&',`struct _GtkSourceCompletionProvider*',`($3)->gobj()')
+#m4 _CONVERSION(`const Glib::RefPtr<SourceCompletionProvider>&',`struct _GtkSourceCompletionProvider*',`Glib::unwrap($3)')
#m4 _CONVERSION(`const Glib::ListHandle<Glib::RefPtr<SourceCompletionProposal> >&',`GList*',`($3).data()')
_WRAP_METHOD(void add_proposals(const Glib::RefPtr<SourceCompletionProvider>& provider, const Glib::ListHandle<Glib::RefPtr<SourceCompletionProposal> >& proposals, bool finished), gtk_source_completion_context_add_proposals)
diff --git a/gtksourceview/src/sourcemark.ccg b/gtksourceview/src/sourcemark.ccg
index e2851ae..60493c2 100644
--- a/gtksourceview/src/sourcemark.ccg
+++ b/gtksourceview/src/sourcemark.ccg
@@ -32,28 +32,40 @@ SourceMark::SourceMark(const Glib::ustring& category, const Glib::ustring& name)
Glib::RefPtr<SourceMark> SourceMark::next()
{
Glib::RefPtr<SourceMark> result = Glib::wrap (gtk_source_mark_next(const_cast<GtkSourceMark*>(gobj()), NULL));
- result->reference();
+ if (result)
+ {
+ result->reference();
+ }
return result;
}
Glib::RefPtr<const SourceMark> SourceMark::next() const
{
Glib::RefPtr<const SourceMark> result = Glib::wrap (gtk_source_mark_next(const_cast<GtkSourceMark*>(gobj()), NULL));
- result->reference();
+ if (result)
+ {
+ result->reference();
+ }
return result;
}
Glib::RefPtr<SourceMark> SourceMark::prev()
{
Glib::RefPtr<SourceMark> result = Glib::wrap (gtk_source_mark_prev(const_cast<GtkSourceMark*>(gobj()), NULL));
- result->reference();
+ if (result)
+ {
+ result->reference();
+ }
return result;
}
Glib::RefPtr<const SourceMark> SourceMark::prev() const
{
Glib::RefPtr<const SourceMark> result = Glib::wrap (gtk_source_mark_prev(const_cast<GtkSourceMark*>(gobj()), NULL));
- result->reference();
+ if (result)
+ {
+ result->reference();
+ }
return result;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]