laforge has submitted this change. (
https://gerrit.osmocom.org/c/osmo-remsim/+/42201?usp=email )
Change subject: bankd: csv: fail on invalid csv lines
......................................................................
bankd: csv: fail on invalid csv lines
Instead of ignoring invalid regex and non-existent
regex for reader.
Change-Id: If10889b43c99adb99d0b7dcdb4287952c3a93d69
---
M src/bankd/bankd_pcsc.c
1 file changed, 10 insertions(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/src/bankd/bankd_pcsc.c b/src/bankd/bankd_pcsc.c
index 1804d01..1eb7dba 100644
--- a/src/bankd/bankd_pcsc.c
+++ b/src/bankd/bankd_pcsc.c
@@ -55,6 +55,7 @@
struct bankd *bankd;
enum parser_state_name state;
struct pcsc_slot_name *cur;
+ bool invalid_csv;
};
@@ -62,6 +63,7 @@
{
ps->state = ST_BANK_NR;
ps->cur = NULL;
+ ps->invalid_csv = false;
}
static void cb1(void *s, size_t len, void *data)
@@ -104,6 +106,7 @@
if (!sn->name_regex) {
LOGP(DMAIN, LOGL_ERROR, "B%d:%d: No reader name given. Maybe
invalid csv.\n",
sn->slot.bank_id, sn->slot.slot_nr);
+ ps->invalid_csv = true;
talloc_free(sn);
goto out;
}
@@ -113,8 +116,9 @@
rc = regcomp(&compiled_name, sn->name_regex, REG_EXTENDED);
if (rc != 0) {
char *errmsg = get_regerror(sn, rc, &compiled_name);
- LOGP(DMAIN, LOGL_ERROR, "B%d:%d: Error compiling regex '%s': %s
- Ignoring\n",
+ LOGP(DMAIN, LOGL_ERROR, "B%d:%d: Error compiling regex '%s':
%s\n",
sn->slot.bank_id, sn->slot.slot_nr, sn->name_regex,
errmsg);
+ ps->invalid_csv = true;
talloc_free(errmsg);
talloc_free(sn);
} else {
@@ -162,6 +166,11 @@
fclose(fp);
csv_free(&p);
+ if (ps.invalid_csv) {
+ LOGP(DMAIN, LOGL_FATAL, "Error parsing bankd PC/SC CSV.\n");
+ return -1;
+ }
+
return 0;
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/42201?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-remsim
Gerrit-Branch: master
Gerrit-Change-Id: If10889b43c99adb99d0b7dcdb4287952c3a93d69
Gerrit-Change-Number: 42201
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>