Due to ! taking precedence over bitwise &, the condition for
checking non-null terminated string blocks is incorrect.
Adds parentheses for the correct behavior.
Bug:
28288210
Change-Id: Ie31fa239e5f869e6bb28deb6ae190f41f1aa4d92
if ((mHeader->flags&ResStringPool_header::UTF8_FLAG &&
((uint8_t*)mStrings)[mStringPoolSize-1] != 0) ||
- (!mHeader->flags&ResStringPool_header::UTF8_FLAG &&
+ (!(mHeader->flags&ResStringPool_header::UTF8_FLAG) &&
((uint16_t*)mStrings)[mStringPoolSize-1] != 0)) {
ALOGW("Bad string block: last string is not 0-terminated\n");
return (mError=BAD_TYPE);