IPaddr2: potential syntax error on if-then-else
what we need here should be A && (B || C)
please refer to the result of following simple tests
before patch:
true && true || true; echo $?; # return value: 0 true && true || false; echo $?; # return value: 0 true && false || true; echo $?; # return value: 0 true && false || false; echo $?; # return value: 1 false && true || true; echo $?; # return value: 0 false && true || false; echo $?; # return value: 1 false && false || true; echo $?; # return value: 0 false && false || false; echo $?; # return value: 1
after patch:
true && (true || true); echo $? # return value: 0 true && (true || false); echo $? # return value: 0 true && (false || true); echo $? # return value: 0 true && (false || false); echo $? # return value: 1 false && (true || true); echo $? # return value: 1 false && (true || false); echo $? # return value: 1 false && (false || true); echo $? # return value: 1 false && (false || false); echo $? # return value: 1