AUDIT: r21564 - gnucash/trunk/src/import-export/aqbanking - Bug #663934: Fix potential crash on failing aqbanking setup druid lookup.

Christian Stimming cstim at code.gnucash.org
Sun Nov 13 16:01:31 EST 2011


Author: cstim
Date: 2011-11-13 16:01:31 -0500 (Sun, 13 Nov 2011)
New Revision: 21564
Trac: http://svn.gnucash.org/trac/changeset/21564

Modified:
   gnucash/trunk/src/import-export/aqbanking/druid-ab-initial.c
Log:
Bug #663934: Fix potential crash on failing aqbanking setup druid lookup.

BP

Modified: gnucash/trunk/src/import-export/aqbanking/druid-ab-initial.c
===================================================================
--- gnucash/trunk/src/import-export/aqbanking/druid-ab-initial.c	2011-11-13 20:39:53 UTC (rev 21563)
+++ gnucash/trunk/src/import-export/aqbanking/druid-ab-initial.c	2011-11-13 21:01:31 UTC (rev 21564)
@@ -239,25 +239,33 @@
     {
         GWEN_DIALOG *dlg =
             AB_SetupDialog_new(banking);
-        int rv;
 
         if (AB_Banking_OnlineInit(banking) != 0)
         {
             PERR("Got error on AB_Banking_OnlineInit!");
         }
 
-        rv = GWEN_Gui_ExecDialog(dlg, 0);
-        if (rv <= 0)
+        if (!dlg)
         {
-            /* Dialog was aborted/rejected */
-            druid_disable_next_button(info);
+            PERR("Could not lookup Setup Dialog of aqbanking!");
+            /* Dialog failed, but maybe the user wants to continue anyway */
+            druid_enable_next_button(info);
         }
         else
         {
-            /* Dialog accepted, all fine */
-            druid_enable_next_button(info);
+            int rv = GWEN_Gui_ExecDialog(dlg, 0);
+            if (rv <= 0)
+            {
+                /* Dialog was aborted/rejected */
+                druid_disable_next_button(info);
+            }
+            else
+            {
+                /* Dialog accepted, all fine */
+                druid_enable_next_button(info);
+            }
+            GWEN_Dialog_free(dlg);
         }
-        GWEN_Dialog_free(dlg);
 
         if (AB_Banking_OnlineFini(banking) != 0)
         {



More information about the gnucash-changes mailing list