Movatterモバイル変換


[0]ホーム

URL:


Google Git
Sign in
chromium /chromium /src /refs/heads/main /. /base /base64_encode_fuzzer.cc
blob: 3815486ad691bef26ef72d22fbe1663ed0f60ae0 [file] [log] [blame] [edit]
// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include<string>
#include<string_view>
#include"base/base64.h"
#include"base/check_op.h"
#include"base/strings/string_view_util.h"
// Encode some random data, and then decode it.
extern"C"intLLVMFuzzerTestOneInput(constuint8_t* data_ptr,size_t size){
// SAFETY: libfuzzer provides a valid pointer and size pair.
auto data= UNSAFE_BUFFERS(base::span(data_ptr, size));
std::string_view data_string= base::as_string_view(data);
const std::string encode_output= base::Base64Encode(data);
std::string decode_output;
CHECK(base::Base64Decode(encode_output,&decode_output));
CHECK_EQ(data_string, decode_output);
// Also run the std::string_view variant and check that it gives the same
// results.
CHECK_EQ(encode_output, base::Base64Encode(data_string));
return0;
}

[8]ページ先頭

©2009-2025 Movatter.jp