def create_mutated_ipcdump_testcase(self):
    ipcdumps = ','.join(random.sample(self.corpus, IPCDUMP_MERGE_LIMIT))
    tmp_ipcdump_testcase = utils.create_temp_file()
    mutated_ipcdump_testcase = (
        utils.random_ipcdump_testcase_path(self.args.output_dir))

    # Concatenate ipcdumps -> tmp_ipcdump.
    cmd = [
      self.ipc_message_util_binary_path,
      ipcdumps,
      tmp_ipcdump_testcase,
    ]
    if subprocess.call(cmd):
      sys.exit('%s failed.' % self.ipc_message_util_binary)

    # Mutate tmp_ipcdump -> mutated_ipcdump.
    cmd = [
      self.ipc_fuzzer_binary_path,
      FUZZER_NAME_OPTION,
      tmp_ipcdump_testcase,
      mutated_ipcdump_testcase,
    ]
    if subprocess.call(cmd):
      sys.exit('%s failed.' % self.ipc_fuzzer_binary)

    utils.create_flags_file(
        mutated_ipcdump_testcase, self.ipc_replay_binary_path)
    os.remove(tmp_ipcdump_testcase)
Exemple #2
0
    def create_mutated_ipcdump_testcase(self):
        ipcdumps = ','.join(random.sample(self.corpus, IPCDUMP_MERGE_LIMIT))
        tmp_ipcdump_testcase = utils.create_temp_file()
        mutated_ipcdump_testcase = (utils.random_ipcdump_testcase_path(
            self.args.output_dir))

        # Concatenate ipcdumps -> tmp_ipcdump.
        cmd = [
            self.ipc_message_util_binary_path,
            ipcdumps,
            tmp_ipcdump_testcase,
        ]
        if subprocess.call(cmd):
            sys.exit('%s failed.' % self.ipc_message_util_binary)

        # Mutate tmp_ipcdump -> mutated_ipcdump.
        cmd = [
            self.ipc_fuzzer_binary_path,
            FUZZER_NAME_OPTION,
            tmp_ipcdump_testcase,
            mutated_ipcdump_testcase,
        ]
        if subprocess.call(cmd):
            sys.exit('%s failed.' % self.ipc_fuzzer_binary)

        utils.create_flags_file(mutated_ipcdump_testcase)
        os.remove(tmp_ipcdump_testcase)
Exemple #3
0
    def generate_ipcdump_testcase(self):
        ipcdump_testcase_path = (utils.random_ipcdump_testcase_path(
            self.args.output_dir))
        num_ipc_messages = random.randint(1, MAX_IPC_MESSAGES_PER_TESTCASE)
        count_option = '--count=%d' % num_ipc_messages

        cmd = [
            self.ipc_fuzzer_binary_path,
            FUZZER_NAME_OPTION,
            count_option,
            ipcdump_testcase_path,
        ]

        if subprocess.call(cmd):
            sys.exit('%s failed.' % self.ipc_fuzzer_binary)

        utils.create_flags_file(ipcdump_testcase_path)
Exemple #4
0
  def generate_ipcdump_testcase(self):
    ipcdump_testcase_path = (
        utils.random_ipcdump_testcase_path(self.args.output_dir))
    num_ipc_messages = random.randint(1, MAX_IPC_MESSAGES_PER_TESTCASE)
    count_option = '--count=%d' % num_ipc_messages

    cmd = [
        self.ipc_fuzzer_binary_path,
        FUZZER_NAME_OPTION,
        count_option,
        ipcdump_testcase_path,
    ]

    if subprocess.call(cmd):
      sys.exit('%s failed.' % self.ipc_fuzzer_binary)

    utils.create_flags_file(ipcdump_testcase_path)