Skip to content

Commit

Permalink
[boost.json] initial submission (google#5998)
Browse files Browse the repository at this point in the history
* initial attempt at fuzzing boost json with oss-fuzz

* use the boost super project master branch

* add mp11 to the list of checked out submodules

* remove leftover copy paste code

* use the boost json develop branch

* add vinnie

* add dmitry
  • Loading branch information
pauldreik committed Aug 14, 2021
1 parent 19ea576 commit 40f37b1
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 0 deletions.
49 changes: 49 additions & 0 deletions projects/boost-json/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
#RUN apt-get update && apt-get install -y g++

RUN git clone --depth 1 --single-branch --branch master https://github.com/boostorg/boost.git
RUN pwd
RUN ls
RUN git -C boost submodule update --init libs/json
RUN git -C boost/libs/json checkout develop
RUN git -C boost submodule update --init --depth 1 \
libs/align/ \
libs/assert \
libs/config/ \
libs/container \
libs/container_hash/ \
libs/core \
libs/exception/ \
libs/headers/ \
libs/intrusive/ \
libs/io \
libs/move/ \
libs/mp11/ \
libs/smart_ptr/ \
libs/static_assert \
libs/system/ \
libs/throw_exception/ \
libs/type_traits/ \
libs/utility/ \
tools/boost_install \
tools/build

WORKDIR boost
COPY build.sh $SRC/

28 changes: 28 additions & 0 deletions projects/boost-json/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash -eu
# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
################################################################################

./bootstrap.sh --with-libraries=json

echo "using clang : ossfuzz : $CXX : <compileflags>\"$CXXFLAGS\" <linkflags>\"$CXXFLAGS\" <linkflags>\"${LIB_FUZZING_ENGINE}\" ;" >user-config.jam

./b2 --user-config=user-config.jam --toolset=clang-ossfuzz --prefix=$OUT --with-json link=static install

for i in libs/json/fuzzing/*.cpp; do
fuzzer=$(basename $i .cpp)
$CXX $CXXFLAGS -pthread libs/json/fuzzing/$fuzzer.cpp -I /out/include/ $OUT/lib/*.a $LIB_FUZZING_ENGINE -o $OUT/$fuzzer
done

7 changes: 7 additions & 0 deletions projects/boost-json/project.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
homepage: "http://www.boost.org/"
language: c++
primary_contact: "pauldreikossfuzz@gmail.com"
auto_ccs:
- "vinnie.falco@gmail.com"
- "grisumbras@gmail.com"
main_repo: 'https://github.com/boostorg/json.git'

0 comments on commit 40f37b1

Please sign in to comment.