gui: Fix null pointer dereference in get_object_assert().
authorBen Pfaff <blp@gnu.org>
Thu, 11 Feb 2010 04:08:28 +0000 (20:08 -0800)
committerBen Pfaff <blp@gnu.org>
Sat, 20 Feb 2010 01:16:14 +0000 (17:16 -0800)
This function was checking whether o == NULL and then blindly
dereferencing it after it found it to be so.

Found by Clang (http://clang-analyzer.llvm.org).

src/ui/gui/helper.c

index 377f17a7f6f77dae93e73a59e02fd31a95f5ae15..44396663daca80cf14af03b2b7bb81a51e57121c 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007, 2009  Free Software Foundation
+   Copyright (C) 2007, 2009, 2010  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -131,8 +131,7 @@ get_object_assert (GtkBuilder *builder, const gchar *name, GType type)
 
   if ( !o )
     g_critical ("Object \"%s\" could not be found\n", name);
-
-  if ( ! g_type_is_a (G_OBJECT_TYPE (o), type))
+  else if ( ! g_type_is_a (G_OBJECT_TYPE (o), type))
    {
      g_critical ("Object \"%s\" was expected to have type %s, but in fact has type %s", 
        name, g_type_name (type), G_OBJECT_TYPE_NAME (o));