/ fuzz / fuzz_targets / decode_string.rs
decode_string.rs
 1  /* This file is part of DarkFi (https://dark.fi)
 2   *
 3   * Copyright (C) 2020-2025 Dyne.org foundation
 4   *
 5   * This program is free software: you can redistribute it and/or modify
 6   * it under the terms of the GNU Affero General Public License as
 7   * published by the Free Software Foundation, either version 3 of the
 8   * License, or (at your option) any later version.
 9   *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   * GNU Affero General Public License for more details.
14   *
15   * You should have received a copy of the GNU Affero General Public License
16   * along with this program.  If not, see <https://www.gnu.org/licenses/>.
17   */
18  
19  #![no_main]
20  extern crate darkfi_serial;
21  use darkfi_serial::deserialize;
22  
23  use libfuzzer_sys::fuzz_target;
24  
25  fuzz_target!(|data: &[u8]| {
26      // Deserialize arbitrary data as a String
27      let _res: String = match deserialize::<String>(&data) {
28          Ok(..) => "".to_string(),
29          Err(..) => "".to_string(),
30      };
31  });