]> git.proxmox.com Git - mirror_frr.git/blob - tests/lib/test_segv.c
release: FRR 3.0-rc1
[mirror_frr.git] / tests / lib / test_segv.c
1 /*
2 * SEGV / backtrace handling test.
3 *
4 * copied from test-sig.c
5 *
6 * Copyright (C) 2013 by David Lamparter, Open Source Routing.
7 * Copyright (C) 2013 by Internet Systems Consortium, Inc. ("ISC")
8 *
9 * This file is part of Quagga
10 *
11 * Quagga is free software; you can redistribute it and/or modify it
12 * under the terms of the GNU General Public License as published by the
13 * Free Software Foundation; either version 2, or (at your option) any
14 * later version.
15 *
16 * Quagga is distributed in the hope that it will be useful, but
17 * WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with Quagga; see the file COPYING. If not, write to the Free
23 * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
24 * 02111-1307, USA.
25 */
26
27 #include <zebra.h>
28 #include <sigevent.h>
29 #include "lib/log.h"
30 #include "lib/memory.h"
31
32 struct quagga_signal_t sigs[] = {};
33
34 struct thread_master *master;
35
36 static int threadfunc(struct thread *thread)
37 {
38 int *null = NULL;
39 *null += 1;
40 return 0;
41 }
42
43 int main(void)
44 {
45 master = thread_master_create();
46 signal_init(master, array_size(sigs), sigs);
47
48 openzlog("testsegv", "NONE", 0, LOG_CONS | LOG_NDELAY | LOG_PID,
49 LOG_DAEMON);
50 zlog_set_level(ZLOG_DEST_SYSLOG, ZLOG_DISABLED);
51 zlog_set_level(ZLOG_DEST_STDOUT, LOG_DEBUG);
52 zlog_set_level(ZLOG_DEST_MONITOR, ZLOG_DISABLED);
53
54 thread_execute(master, threadfunc, 0, 0);
55
56 exit(0);
57 }