gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-anastasis-gtk] branch master updated: fix crash on save-as, numbe


From: gnunet
Subject: [taler-anastasis-gtk] branch master updated: fix crash on save-as, number challenges from 1
Date: Wed, 14 Jul 2021 16:36:25 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository anastasis-gtk.

The following commit(s) were added to refs/heads/master by this push:
     new 7559a67  fix crash on save-as, number challenges from 1
7559a67 is described below

commit 7559a67d1bf637951d6e4f8686d16ae52a8f04a6
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Wed Jul 14 16:36:22 2021 +0200

    fix crash on save-as, number challenges from 1
---
 src/anastasis/anastasis-gtk_action.c               |  4 +--
 .../anastasis-gtk_handle-secret-buttons.c          | 31 +++++++++++++++-------
 2 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/src/anastasis/anastasis-gtk_action.c 
b/src/anastasis/anastasis-gtk_action.c
index 9f4cdd6..c3ebad8 100644
--- a/src/anastasis/anastasis-gtk_action.c
+++ b/src/anastasis/anastasis-gtk_action.c
@@ -1981,7 +1981,7 @@ show_challenge_feedback (void)
           ls,
           NULL,
           -1,                              /* append */
-          AG_CSM_CHALLENGE_OFFSET, off,
+          AG_CSM_CHALLENGE_OFFSET, (guint) (off + 1),
           AG_CSM_CHALLENGE_UUID, uuid,
           AG_CSM_SOLVED, 0 == strcmp (state, "solved"),
           AG_CSM_STATUS, translate_state (state),
@@ -2232,7 +2232,7 @@ action_challenge_selecting (void)
         ls,
         NULL,
         -1,                                /* append */
-        AG_CSM_CHALLENGE_OFFSET, (guint) index,
+        AG_CSM_CHALLENGE_OFFSET, (guint) (index + 1),
         AG_CSM_CHALLENGE_UUID, uuid,
         AG_CSM_SOLVED, false,
         AG_CSM_STATUS, _ ("new"),
diff --git a/src/anastasis/anastasis-gtk_handle-secret-buttons.c 
b/src/anastasis/anastasis-gtk_handle-secret-buttons.c
index ba82a5d..c7bfe30 100644
--- a/src/anastasis/anastasis-gtk_handle-secret-buttons.c
+++ b/src/anastasis/anastasis-gtk_handle-secret-buttons.c
@@ -223,12 +223,17 @@ save_secret_dialog_response_cb (GtkDialog *dialog,
   GtkBuilder *builder = GTK_BUILDER (user_data);
   char *filename;
   size_t data_len;
+  const char *text;
   void *data;
   json_t *cs;
   struct GNUNET_JSON_Specification cspec[] = {
-    GNUNET_JSON_spec_varsize ("value",
-                              &data,
-                              &data_len),
+    GNUNET_JSON_spec_mark_optional (
+      GNUNET_JSON_spec_string ("text",
+                               &text)),
+    GNUNET_JSON_spec_mark_optional (
+      GNUNET_JSON_spec_varsize ("value",
+                                &data,
+                                &data_len)),
     GNUNET_JSON_spec_end ()
   };
 
@@ -245,16 +250,24 @@ save_secret_dialog_response_cb (GtkDialog *dialog,
   cs = json_object_get (AG_redux_state,
                         "core_secret");
   GNUNET_assert (NULL != cs);
-  GNUNET_assert (GNUNET_OK ==
-                 GNUNET_JSON_parse (cs,
-                                    cspec,
-                                    NULL, NULL));
+  if (GNUNET_OK !=
+      GNUNET_JSON_parse (cs,
+                         cspec,
+                         NULL, NULL))
+  {
+    GNUNET_break (0);
+    return;
+  }
   {
     enum GNUNET_GenericReturnValue ret;
 
     ret = GNUNET_DISK_fn_write (filename,
-                                data,
-                                data_len,
+                                (NULL == data)
+                                ? text
+                                : data,
+                                (NULL == data)
+                                ? strlen (text)
+                                : data_len,
                                 GNUNET_DISK_PERM_USER_READ);
     switch (ret)
     {

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]