From 80c42fcaf305014ba7eaf4e234ee029a87819d44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Tue, 11 Jul 2023 13:40:19 +0200 Subject: [PATCH] misra: Fix crash in misra_9.py when struct type is unknown and there is string initialization (#5233) --- addons/misra_9.py | 2 +- addons/test/misra/crash7.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 addons/test/misra/crash7.c diff --git a/addons/misra_9.py b/addons/misra_9.py index 220bf7a13..4ebef9966 100644 --- a/addons/misra_9.py +++ b/addons/misra_9.py @@ -255,7 +255,7 @@ class InitializerParser: isFirstElement = False isDesignated = True - elif self.token.isString and self.ed.isArray: + elif self.token.isString and self.ed and self.ed.isArray: self.ed.setInitialized(isDesignated) if self.token == self.token.astParent.astOperand1 and self.token.astParent.astOperand2: self.token = self.token.astParent.astOperand2 diff --git a/addons/test/misra/crash7.c b/addons/test/misra/crash7.c new file mode 100644 index 000000000..210cfeb4d --- /dev/null +++ b/addons/test/misra/crash7.c @@ -0,0 +1,8 @@ + + +static const struct id3_frametype wordlist[] = +{ + {0, "Encryption method registration"}, + {1, "Popularimeter"}, +}; +