summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcello Stanisci <stanisci.m@gmail.com>2019-06-28 18:36:36 +0200
committerMarcello Stanisci <stanisci.m@gmail.com>2019-06-28 18:36:36 +0200
commit781414d7db750b0f450b66eefc5ad17ba5c14774 (patch)
treeeb84fdba2894913760b086a07c8705490ae54ef8
parentb201c2d63f92aaa0d068d442e3de3d1e1870acee (diff)
downloadmerchant-781414d7db750b0f450b66eefc5ad17ba5c14774.tar.gz
merchant-781414d7db750b0f450b66eefc5ad17ba5c14774.tar.bz2
merchant-781414d7db750b0f450b66eefc5ad17ba5c14774.zip
#5784
-rw-r--r--src/backend/taler-merchant-httpd.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/backend/taler-merchant-httpd.c b/src/backend/taler-merchant-httpd.c
index a1397ed3..4b2f3499 100644
--- a/src/backend/taler-merchant-httpd.c
+++ b/src/backend/taler-merchant-httpd.c
@@ -850,6 +850,20 @@ wireformat_iterator_cb (void *cls,
"url", payto,
"salt", salt_str);
GNUNET_free (salt_str);
+
+ /* Make sure every path component exists. */
+ if (GNUNET_OK != GNUNET_DISK_directory_create_for_file (fn))
+ {
+ GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR,
+ "mkdir",
+ fn);
+ GNUNET_free (fn);
+ GNUNET_free (payto);
+ json_decref (j);
+ iic->ret = GNUNET_SYSERR;
+ return;
+ }
+
if (0 != json_dump_file (j,
fn,
JSON_COMPACT | JSON_SORT_KEYS))