From 207dcaa849d7c1d5090f198e9c86f9bfc484a89e Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sun, 30 Jan 2011 15:35:48 -0800 Subject: [PATCH] sys-file-reader: Check that multiple response set names begin with `$'. This invariant was being checked by an assertion in dict_add_mrset(), so this change avoids an assertion failure for invalid system files. --- src/data/sys-file-reader.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/data/sys-file-reader.c b/src/data/sys-file-reader.c index aff21d60..898b6739 100644 --- a/src/data/sys-file-reader.c +++ b/src/data/sys-file-reader.c @@ -1047,6 +1047,13 @@ read_mrsets (struct sfm_reader *r, size_t size, size_t count, break; mrset->name = xstrdup (name); + if (mrset->name[0] != '$') + { + sys_warn (r, _("`%s' does not begin with `$' at offset %zu " + "in MRSETS record."), mrset->name, text_pos (text)); + break; + } + if (text_match (text, 'C')) { mrset->type = MRSET_MC; -- 2.30.2