sms-part-3gpp|cdma: new fuzzer tests

This commit is contained in:
Aleksander Morgado
2023-03-30 13:19:30 +00:00
committed by Aleksander Morgado
parent ea441d0f89
commit 3aefc983b5
6 changed files with 137 additions and 0 deletions
+15
View File
@@ -37,3 +37,18 @@ foreach test_unit, test_deps: test_units
test(test_name, exe)
endforeach
if get_option('fuzzer')
fuzzer_tests = ['test-sms-part-3gpp-fuzzer',
'test-sms-part-3gpp-tr-fuzzer',
'test-sms-part-cdma-fuzzer']
foreach fuzzer_test: fuzzer_tests
exe = executable(
fuzzer_test,
sources: fuzzer_test + '.c',
include_directories: top_inc,
dependencies: libhelpers_dep,
link_args : '-fsanitize=fuzzer',
)
endforeach
endif
+39
View File
@@ -0,0 +1,39 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details:
*
* Copyright (C) 2023 Google, Inc.
*/
#include <config.h>
#include <string.h>
#include <stdint.h>
#include <glib.h>
#define _LIBMM_INSIDE_MM
#include <libmm-glib.h>
#include "mm-sms-part-3gpp.h"
int
LLVMFuzzerTestOneInput (const uint8_t *data,
size_t size)
{
g_autoptr(MMSmsPart) part = NULL;
g_autoptr(GError) error = NULL;
if (!size)
return 0;
part = mm_sms_part_3gpp_new_from_binary_pdu (0, data, size, NULL, FALSE, &error);
g_assert (part || error);
return 0;
}
+39
View File
@@ -0,0 +1,39 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details:
*
* Copyright (C) 2023 Google, Inc.
*/
#include <config.h>
#include <string.h>
#include <stdint.h>
#include <glib.h>
#define _LIBMM_INSIDE_MM
#include <libmm-glib.h>
#include "mm-sms-part-3gpp.h"
int
LLVMFuzzerTestOneInput (const uint8_t *data,
size_t size)
{
g_autoptr(MMSmsPart) part = NULL;
g_autoptr(GError) error = NULL;
if (!size)
return 0;
part = mm_sms_part_3gpp_new_from_binary_pdu (0, data, size, NULL, TRUE, &error);
g_assert (part || error);
return 0;
}
+39
View File
@@ -0,0 +1,39 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details:
*
* Copyright (C) 2023 Google, Inc.
*/
#include <config.h>
#include <string.h>
#include <stdint.h>
#include <glib.h>
#define _LIBMM_INSIDE_MM
#include <libmm-glib.h>
#include "mm-sms-part-cdma.h"
int
LLVMFuzzerTestOneInput (const uint8_t *data,
size_t size)
{
g_autoptr(MMSmsPart) part = NULL;
g_autoptr(GError) error = NULL;
if (!size)
return 0;
part = mm_sms_part_cdma_new_from_binary_pdu (0, data, size, NULL, &error);
g_assert (part || error);
return 0;
}