Merge "Fix not properly handled NULL-pointer access before check in aac lib" am: b0af861f5a am: b0f6b2906e
am: ef9be61680

Change-Id: Ibfe81134a2089946800580538775faaa1bbe00ef
diff --git a/libAACdec/src/aacdecoder_lib.cpp b/libAACdec/src/aacdecoder_lib.cpp
index 8863da5..50efb0f 100644
--- a/libAACdec/src/aacdecoder_lib.cpp
+++ b/libAACdec/src/aacdecoder_lib.cpp
@@ -791,36 +791,29 @@
         const UINT         flags)
 {
     AAC_DECODER_ERROR ErrorStatus;
-    INT layer;
-    INT nBits;
-    INT interleaved = self->outputInterleaved;
-    HANDLE_FDK_BITSTREAM hBs;
     int fTpInterruption = 0;  /* Transport originated interruption detection. */
     int fTpConceal = 0;       /* Transport originated concealment. */
-    INT_PCM *pTimeData = NULL;
-    INT timeDataSize = 0;
-
 
     if (self == NULL) {
       return AAC_DEC_INVALID_HANDLE;
     }
-
-    pTimeData = self->pcmOutputBuffer;
-    timeDataSize = sizeof(self->pcmOutputBuffer)/sizeof(*self->pcmOutputBuffer);
+    INT interleaved = self->outputInterleaved;
+    INT_PCM *pTimeData = self->pcmOutputBuffer;
+    INT timeDataSize = sizeof(self->pcmOutputBuffer)/sizeof(*self->pcmOutputBuffer);
 
     if (flags & AACDEC_INTR) {
       self->streamInfo.numLostAccessUnits = 0;
     }
 
-    hBs = transportDec_GetBitstream(self->hInput, 0);
+    HANDLE_FDK_BITSTREAM hBs = transportDec_GetBitstream(self->hInput, 0);
 
     /* Get current bits position for bitrate calculation. */
-    nBits = FDKgetValidBits(hBs);
+    INT nBits = FDKgetValidBits(hBs);
     if (! (flags & (AACDEC_CONCEAL | AACDEC_FLUSH) ) )
     {
       TRANSPORTDEC_ERROR err;
 
-      for(layer = 0; layer < self->nrOfLayers; layer++)
+      for(INT layer = 0; layer < self->nrOfLayers; layer++)
       {
         err = transportDec_ReadAccessUnit(self->hInput, layer);
         if (err != TRANSPORTDEC_OK) {
diff --git a/libAACenc/src/metadata_main.cpp b/libAACenc/src/metadata_main.cpp
index e920793..90f8f4e 100644
--- a/libAACenc/src/metadata_main.cpp
+++ b/libAACenc/src/metadata_main.cpp
@@ -488,14 +488,12 @@
 {
     FDK_METADATA_ERROR err = METADATA_OK;
 
-    INT dynrng, compr;
-    DRC_PROFILE profileDrc  = convertProfile(pMetadata->mpegDrc.drc_profile);
-    DRC_PROFILE profileComp = convertProfile(pMetadata->etsiAncData.comp_profile);
-
     if ( (pMetadata==NULL) || (hDrcComp==NULL) ) {
       err = METADATA_INVALID_HANDLE;
       return err;
     }
+    DRC_PROFILE profileDrc  = convertProfile(pMetadata->mpegDrc.drc_profile);
+    DRC_PROFILE profileComp = convertProfile(pMetadata->etsiAncData.comp_profile);
 
     /* first, check if profile is same as last frame
      * otherwise, update setup */
@@ -511,8 +509,8 @@
     }
 
     /* in case of embedding external values, copy this now (limiter may overwrite them) */
-    dynrng = decodeDynrng(pMetadata->mpegDrc.dyn_rng_ctl[0], pMetadata->mpegDrc.dyn_rng_sgn[0]);
-    compr  = decodeCompr(pMetadata->etsiAncData.compression_value);
+    INT dynrng = decodeDynrng(pMetadata->mpegDrc.dyn_rng_ctl[0], pMetadata->mpegDrc.dyn_rng_sgn[0]);
+    INT compr  = decodeCompr(pMetadata->etsiAncData.compression_value);
 
     /* Call compressor */
     if (FDK_DRC_Generator_Calc(hDrcComp,