From c1770414baeddbc1ed44151b4d581dd87eb26d5e Mon Sep 17 00:00:00 2001 From: Georgy Komarov Date: Sun, 1 Dec 2019 16:51:12 +0300 Subject: [PATCH] misra.py: Fix crash on c++ code (#2414) --- addons/misra.py | 2 +- addons/test/misra/misra-test.cpp | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/addons/misra.py b/addons/misra.py index 803d1d5d2..932aeb9fd 100755 --- a/addons/misra.py +++ b/addons/misra.py @@ -124,7 +124,7 @@ def getEssentialTypeCategory(expr): return e1 if expr.valueType: return expr.valueType.sign - if expr.valueType and expr.valueType.typeScope: + if expr.valueType and expr.valueType.typeScope and expr.valueType.typeScope.className: return "enum<" + expr.valueType.typeScope.className + ">" if expr.variable: typeToken = expr.variable.typeStartToken diff --git a/addons/test/misra/misra-test.cpp b/addons/test/misra/misra-test.cpp index d3631653f..cfa1d3289 100644 --- a/addons/test/misra/misra-test.cpp +++ b/addons/test/misra/misra-test.cpp @@ -10,6 +10,14 @@ class misra_21_1_C { misra_21_1_C operator=(const misra_21_1_C &); }; +class C2 { +public: + C2(); +private: + void* f; +}; +C2::C2() : f(NULL) {} + static bool test_misra_21_1_crash() { auto misra_21_1_C a, b;