Skip to content

Commit

Permalink
initial integration
Browse files Browse the repository at this point in the history
  • Loading branch information
Shivam7-1 committed Dec 29, 2024
1 parent 400401d commit da60166
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 0 deletions.
4 changes: 4 additions & 0 deletions projects/grass-addons/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM gcr.io/oss-fuzz-base/base-builder
RUN git clone --depth 1 https://github.com/OSGeo/grass-addons.git /src/grass-addons
WORKDIR /src/grass-addons
COPY build.sh $SRC/
9 changes: 9 additions & 0 deletions projects/grass-addons/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash -eu

mkdir build
cd build
cmake ..
make -j$(nproc)

$CXX $CXXFLAGS -I /src/grass-addons/include /src/grass-addons/fuzz_target.c -o $OUT/fuzz_target \
$LIB_FUZZING_ENGINE /src/grass-addons/src/*.o
39 changes: 39 additions & 0 deletions projects/grass-addons/fuzz_target.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#include <stdint.h>
#include <stddef.h>
#include "pavl.h"
#include "sort.h"
#include "local_proto.h"
#include "test_simulation.cpp"
#include "test_treatments.cpp"

extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
if (size < sizeof(int))
return 0;

int input = *(int *)data;

// fuzz test for pavl_create function from pavl.h
struct pavl_table *table = pavl_create(NULL, NULL, NULL);
if (table) {
pavl_destroy(table, NULL);
}

// fuzz test for Mergesort_increasing_smallest_azimuth function from sort.h
struct node head;
struct node tail;
Mergesort_increasing_smallest_azimuth(&head, &tail);

// Fuzz test for functions from local_proto.h
float result = f_and(input, input, E);
result += f_or(input, input, E);
result += f_not(input, E);

// Fuzz test for test_simulation.cpp
ret += test_calling_all_functions();

// Fuzz test for test_treatments.cpp
ret += test_steering();

return 0;
}
8 changes: 8 additions & 0 deletions projects/grass-addons/project.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: grass-addons
path: OSGeo/grass-addons
homepage: "https://grass.osgeo.org/grass-stable/manuals/addons/"
language: c++
primary_contact: "[email protected]"
fuzzing_engines:
- libfuzzer
main_repo: 'https://github.com/OSGeo/grass-addons'

0 comments on commit da60166

Please sign in to comment.