commit 8c113d2459b461a02927b1ce29207354cb1c275f
parent aab39b3dc97a23bc01b0007b5ac7946d7e2f127b
Author: Christian Grothoff <christian@grothoff.org>
Date: Fri, 15 Jan 2021 15:32:10 +0100
avoid warning if file does not exist
Diffstat:
1 file changed, 27 insertions(+), 23 deletions(-)
diff --git a/src/exchange-tools/taler-exchange-offline.c b/src/exchange-tools/taler-exchange-offline.c
@@ -2334,34 +2334,38 @@ tofu_check (const struct TALER_SecurityModulePublicKeyP secm[2])
"SECM_TOFU_FILE");
return GNUNET_SYSERR;
}
- ret = GNUNET_DISK_fn_read (fn,
- &old,
- sizeof (old));
- if (GNUNET_SYSERR != ret)
+ if (GNUNET_OK ==
+ GNUNET_DISK_file_test (fn))
{
- if (ret != sizeof (old))
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "File `%s' corrupt\n",
- fn);
- GNUNET_free (fn);
- return GNUNET_SYSERR;
- }
- /* TOFU check */
- if (0 != memcmp (old,
- secm,
- sizeof (old)))
+ ret = GNUNET_DISK_fn_read (fn,
+ &old,
+ sizeof (old));
+ if (GNUNET_SYSERR != ret)
{
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "Fatal: security module keys changed (file `%s')!\n",
- fn);
+ if (ret != sizeof (old))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "File `%s' corrupt\n",
+ fn);
+ GNUNET_free (fn);
+ return GNUNET_SYSERR;
+ }
+ /* TOFU check */
+ if (0 != memcmp (old,
+ secm,
+ sizeof (old)))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Fatal: security module keys changed (file `%s')!\n",
+ fn);
+ GNUNET_free (fn);
+ return GNUNET_SYSERR;
+ }
GNUNET_free (fn);
- return GNUNET_SYSERR;
+ return GNUNET_OK;
}
- GNUNET_free (fn);
- return GNUNET_OK;
}
- else
+
{
char *key;