From bb1e78a118cab7358b4f5e0cd5c8c21d95576936 Mon Sep 17 00:00:00 2001 From: Chih-Hung Hsieh Date: Wed, 12 Nov 2014 10:09:10 -0800 Subject: [PATCH] Fix checks for {Front,Side,Back}ElementIsCpe {Front,Side,Back}ElementIsCpe is an array (per-channel). The check for pPce->{Front,Side,Back}ElementIsCpe without an index checks the address of the array, and will always evaluate to true. The elTagSce++ statements are unreachable. Change-Id: If530371788a44038c500d6f9f7ac67681f77cc71 --- Android.mk | 4 ---- libMpegTPDec/src/tpdec_asc.cpp | 6 +++--- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/Android.mk b/Android.mk index dcf8cf6..cfd5113 100644 --- a/Android.mk +++ b/Android.mk @@ -52,10 +52,6 @@ LOCAL_C_INCLUDES := \ $(LOCAL_PATH)/libSBRdec/include \ $(LOCAL_PATH)/libSBRenc/include -# In tpdec_asc.cpp: address of array 'pPce->FrontElementIsCpe' -# will always evaluate to 'true'. -LOCAL_CLANG_CPPFLAGS += \ - -Wno-pointer-bool-conversion LOCAL_CPPFLAGS += -std=c++98 diff --git a/libMpegTPDec/src/tpdec_asc.cpp b/libMpegTPDec/src/tpdec_asc.cpp index 82adec1..bae271e 100644 --- a/libMpegTPDec/src/tpdec_asc.cpp +++ b/libMpegTPDec/src/tpdec_asc.cpp @@ -449,13 +449,13 @@ void CProgramConfig_GetDefault( CProgramConfig *pPce, int el, elTagSce = 0, elTagCpe = 0; for (el = 0; el < pPce->NumFrontChannelElements; el += 1) { - pPce->FrontElementTagSelect[el] = (pPce->FrontElementIsCpe) ? elTagCpe++ : elTagSce++; + pPce->FrontElementTagSelect[el] = (pPce->FrontElementIsCpe[el]) ? elTagCpe++ : elTagSce++; } for (el = 0; el < pPce->NumSideChannelElements; el += 1) { - pPce->SideElementTagSelect[el] = (pPce->SideElementIsCpe) ? elTagCpe++ : elTagSce++; + pPce->SideElementTagSelect[el] = (pPce->SideElementIsCpe[el]) ? elTagCpe++ : elTagSce++; } for (el = 0; el < pPce->NumBackChannelElements; el += 1) { - pPce->BackElementTagSelect[el] = (pPce->BackElementIsCpe) ? elTagCpe++ : elTagSce++; + pPce->BackElementTagSelect[el] = (pPce->BackElementIsCpe[el]) ? elTagCpe++ : elTagSce++; } elTagSce = 0; for (el = 0; el < pPce->NumLfeChannelElements; el += 1) {