summaryrefslogtreecommitdiff
path: root/testing/libfuzzer/pdf_codec_icc_fuzzer.cc
blob: c7abdd69a44190ddd5cb8474deefd80e84c056d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Copyright 2016 The PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <cstdint>

#include "core/fxcodec/codec/ccodec_iccmodule.h"

extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
  CCodec_IccModule icc_module;
  uint32_t nComponent = 0;
  void* transform = icc_module.CreateTransform_sRGB(data, size, nComponent);

  if (transform) {
    float src[4];
    float dst[4];
    for (int i = 0; i < 4; i++)
      src[i] = 0.5f;
    icc_module.SetComponents(nComponent);
    icc_module.Translate(transform, src, dst);
    icc_module.DestroyTransform(transform);
  }

  return 0;
}