@@ -4511,7 +4511,7 @@ class TestValueFlow : public TestFixture {
45114511 " void f(Object *obj) {\n "
45124512 " if (valid(obj, K0)) {}\n "
45134513 " }\n " ;
4514- TODO_ASSERT_EQUALS (true , false , testValueOfX (code, 7U , 0 ));
4514+ ASSERT_EQUALS (true , testValueOfX (code, 7U , 0 ));
45154515 ASSERT_EQUALS (false , testValueOfXKnown (code, 7U , 0 ));
45164516
45174517 code = " int f(int i) {\n "
@@ -5624,6 +5624,17 @@ class TestValueFlow : public TestFixture {
56245624 " }\n " ;
56255625 values = tokenValues (code, " x <" , ValueFlow::Value::ValueType::UNINIT);
56265626 ASSERT_EQUALS (0 , values.size ());
5627+
5628+ code = " void g(bool *result, size_t *buflen) {\n " // #12091
5629+ " if (*result && *buflen >= 5) {}\n " // <- *buflen might not be initialized
5630+ " }\n "
5631+ " void f() {\n "
5632+ " size_t bytesCopied;\n "
5633+ " bool copied_all = true;\n "
5634+ " g(&copied_all, &bytesCopied);\n "
5635+ " }" ;
5636+ values = tokenValues (code, " buflen >=" , ValueFlow::Value::ValueType::UNINIT);
5637+ ASSERT_EQUALS (1 , values.size ());
56275638 }
56285639
56295640 void valueFlowConditionExpressions () {
0 commit comments