summaryrefslogtreecommitdiff
path: root/src/exchange-tools
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2023-05-02 21:48:23 +0200
committerChristian Grothoff <christian@grothoff.org>2023-05-02 21:48:23 +0200
commit8e0f9b40c0ffcf3367b9a0cf2e1f0bebda34e0cb (patch)
treee4b887f26ff98330cca42bb71dd5c7d7a3a96f07 /src/exchange-tools
parent4267f1d76299252de273fa723c6037fef30fb7f1 (diff)
downloadexchange-8e0f9b40c0ffcf3367b9a0cf2e1f0bebda34e0cb.tar.gz
exchange-8e0f9b40c0ffcf3367b9a0cf2e1f0bebda34e0cb.tar.bz2
exchange-8e0f9b40c0ffcf3367b9a0cf2e1f0bebda34e0cb.zip
check regex syntax at least
Diffstat (limited to 'src/exchange-tools')
-rw-r--r--src/exchange-tools/taler-exchange-offline.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/exchange-tools/taler-exchange-offline.c b/src/exchange-tools/taler-exchange-offline.c
index fbf8a6ac6..80765dd9b 100644
--- a/src/exchange-tools/taler-exchange-offline.c
+++ b/src/exchange-tools/taler-exchange-offline.c
@@ -24,6 +24,8 @@
#include "taler_json_lib.h"
#include "taler_exchange_service.h"
#include "taler_extensions.h"
+#include <regex.h>
+
/**
* Name of the input for the 'sign' and 'show' operation.
@@ -3017,6 +3019,21 @@ parse_restriction (char *const *args,
"Mandatory arguments for restriction of type `regex' missing (REGEX, HINT, HINT-I18 required)\n");
return -1;
}
+ {
+ regex_t ex;
+
+ if (0 != regcomp (&ex,
+ args[1],
+ REG_NOSUB | REG_EXTENDED))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Invalid regular expression `%s'\n",
+ args[1]);
+ return -1;
+ }
+ regfree (&ex);
+ }
+
i18n = json_loads (args[3],
JSON_REJECT_DUPLICATES,
&err);