From 8e0f9b40c0ffcf3367b9a0cf2e1f0bebda34e0cb Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 2 May 2023 21:48:23 +0200 Subject: check regex syntax at least --- src/exchange-tools/taler-exchange-offline.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/exchange-tools') 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 + /** * 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); -- cgit v1.2.3