diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-01-15 15:32:10 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-01-15 15:32:10 +0100 |
commit | 8c113d2459b461a02927b1ce29207354cb1c275f (patch) | |
tree | d37ead0251989b69553f8cccb2c8db0cbf5fb729 /src | |
parent | aab39b3dc97a23bc01b0007b5ac7946d7e2f127b (diff) | |
download | exchange-8c113d2459b461a02927b1ce29207354cb1c275f.tar.xz |
avoid warning if file does not exist
Diffstat (limited to 'src')
-rw-r--r-- | src/exchange-tools/taler-exchange-offline.c | 50 |
1 files changed, 27 insertions, 23 deletions
diff --git a/src/exchange-tools/taler-exchange-offline.c b/src/exchange-tools/taler-exchange-offline.c index 59e0b0a40..18c8a7b18 100644 --- 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; |