Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8fd1f27e authored by Piotr Jastrzebski's avatar Piotr Jastrzebski Committed by Gerrit Code Review
Browse files

Merge "Reject zip archives with entry names containing \0."

parents 3e13ed08 78271ba9
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -640,9 +640,15 @@ static int32_t ParseZipArchive(ZipArchive* archive) {
    const uint16_t file_name_length = cdr->file_name_length;
    const uint16_t extra_length = cdr->extra_field_length;
    const uint16_t comment_length = cdr->comment_length;
    const uint8_t* file_name = ptr + sizeof(CentralDirectoryRecord);

    /* check that file name doesn't contain \0 character */
    if (memchr(file_name, 0, file_name_length) != NULL) {
      ALOGW("Zip: entry name can't contain \\0 character");
      goto bail;
    }

    /* add the CDE filename to the hash table */
    const uint8_t* file_name = ptr + sizeof(CentralDirectoryRecord);
    ZipEntryName entry_name;
    entry_name.name = file_name;
    entry_name.name_length = file_name_length;