This is a false positive. First time through the loop 'imod3' is always 0
so c1 is not used. It's also set so further iterations have a valid 'c1'.
If 'value' is empty the switch doesn't look at 'c1' either since 'imod3'
is still 0.
if (!strValueValid) {
strValueValid = true;
std::ostringstream os;
- uint8_t c1, c2;
+ uint8_t c1 = 0, c2;
int imod3 = 0;
std::vector<uint8_t>::size_type valueSize = value.size();
for (std::vector<uint8_t>::size_type i = 0; i < valueSize; ++i) {