lynxis lazus has uploaded this change for review. ( 
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(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/01/42201/1

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: newchange
Gerrit-Project: osmo-remsim
Gerrit-Branch: master
Gerrit-Change-Id: If10889b43c99adb99d0b7dcdb4287952c3a93d69
Gerrit-Change-Number: 42201
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <[email protected]>

Reply via email to