summaryrefslogtreecommitdiff
path: root/src/json/json_wire.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/json/json_wire.c')
-rw-r--r--src/json/json_wire.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/json/json_wire.c b/src/json/json_wire.c
index 1cd3fd7d5..7d3453e16 100644
--- a/src/json/json_wire.c
+++ b/src/json/json_wire.c
@@ -281,7 +281,15 @@ validate_iban (const char *iban)
j++;
}
for (j = 0; '\0' != nbuf[j]; j++)
- GNUNET_assert (isdigit ( (unsigned char) nbuf[j]));
+ {
+ if (! isdigit ( (unsigned char) nbuf[j]))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+ "IBAN `%s' didn't convert to numeric format\n",
+ iban);
+ return GNUNET_NO;
+ }
+ }
GNUNET_assert (sizeof(dividend) >= 8);
remainder = 0;
for (unsigned int i = 0; i<j; i += 16)
@@ -335,7 +343,8 @@ validate_payto_iban (const char *account_url)
IBAN_PREFIX,
strlen (IBAN_PREFIX)))
return GNUNET_NO;
- iban = &account_url[strlen (IBAN_PREFIX)];
+
+ iban = strrchr (account_url, '/') + 1;
#undef IBAN_PREFIX
q = strchr (iban,
'?');