diff --git a/media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
--- a/media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
@@ -397,17 +397,17 @@ MPEG4Extractor::~MPEG4Extractor() {
         delete track;
         track = next;
     }
     mFirstTrack = mLastTrack = NULL;
 
     SINF *sinf = mFirstSINF;
     while (sinf) {
         SINF *next = sinf->next;
-        delete sinf->IPMPData;
+        delete[] sinf->IPMPData;
         delete sinf;
         sinf = next;
     }
     mFirstSINF = NULL;
 
     for (size_t i = 0; i < mPssh.Length(); i++) {
         delete [] mPssh[i].data;
     }
