Code: int main(int argc, char *argv[]) {
 char *fin, *fout;
 FILE *fpin, *fpout;
 uint8_t *inbuf, *outbuf;
 uint8_t *inbuf_u, *outbuf_u;
 uint8_t *inbuf_v, *outbuf_v;

   int f, frames;
   int width, height, target_width, target_height;
 
   if (argc < 5) {
     printf("Incorrect parameters:\n");
    usage(argv[0]);
     return 1;
   }
 
  fin = argv[1];

   fout = argv[4];
   if (!parse_dim(argv[2], &width, &height)) {
     printf("Incorrect parameters: %s\n", argv[2]);
    usage(argv[0]);
     return 1;
   }
   if (!parse_dim(argv[3], &target_width, &target_height)) {
     printf("Incorrect parameters: %s\n", argv[3]);
    usage(argv[0]);
     return 1;
   }
 
   fpin = fopen(fin, "rb");
   if (fpin == NULL) {
     printf("Can't open file %s to read\n", fin);
    usage(argv[0]);
     return 1;
   }
   fpout = fopen(fout, "wb");
   if (fpout == NULL) {
     printf("Can't open file %s to write\n", fout);
    usage(argv[0]);
     return 1;
   }
   if (argc >= 6)
    frames = atoi(argv[5]);
 else
    frames = INT_MAX;

  printf("Input size:  %dx%d\n",
         width, height);
  printf("Target size: %dx%d, Frames: ",
         target_width, target_height);
 if (frames == INT_MAX)
    printf("All\n");
 else
    printf("%d\n", frames);

  inbuf = (uint8_t*)malloc(width * height * 3 / 2);
  outbuf = (uint8_t*)malloc(target_width * target_height * 3 / 2);
  inbuf_u = inbuf + width * height;
  inbuf_v = inbuf_u + width * height / 4;
  outbuf_u = outbuf + target_width * target_height;
  outbuf_v = outbuf_u + target_width * target_height / 4;
  f = 0;
 while (f < frames) {
 if (fread(inbuf, width * height * 3 / 2, 1, fpin) != 1)
 break;
    vp9_resize_frame420(inbuf, width, inbuf_u, inbuf_v, width / 2,
                        height, width,
                        outbuf, target_width, outbuf_u, outbuf_v,
                        target_width / 2,
                        target_height, target_width);
    fwrite(outbuf, target_width * target_height * 3 / 2, 1, fpout);
    f++;
 }
  printf("%d frames processed\n", f);
  fclose(fpin);
  fclose(fpout);

  free(inbuf);
  free(outbuf);
 return 0;
}

Vulnerability Type: DoS Exec Code Overflow Mem. Corr. 
CWE ID: CWE-119
Summary: libvpx in mediaserver in Android 4.x before 4.4.4, 5.x before 5.1.1 LMY49H, and 6.0 before 2016-03-01 allows remote attackers to execute arbitrary code or cause a denial of service (memory corruption) via a crafted media file, related to libwebm/mkvparser.cpp and other files, aka internal bug 23452792.
Commit Message: Merge Conflict Fix CL to lmp-mr1-release for ag/849478

DO NOT MERGE - libvpx: Pull from upstream

Current HEAD: 7105df53d7dc13d5e575bc8df714ec8d1da36b06

BUG=23452792

Change-Id: Ic78176fc369e0bacc71d423e0e2e6075d004aaec
