test-segv.c 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. #include <zebra.h>
  27. #include <sigevent.h>
  28. #include "lib/log.h"
  29. #include "lib/memory.h"
  30. struct quagga_signal_t sigs[] =
  31. {
  32. };
  33. struct thread_master *master;
  34. static int
  35. threadfunc (struct thread *thread)
  36. {
  37. int *null = NULL;
  38. *null += 1;
  39. return 0;
  40. }
  41. int
  42. main (void)
  43. {
  44. master = thread_master_create ();
  45. signal_init (master, array_size(sigs), sigs);
  46. zlog_default = openzlog("testsegv", ZLOG_NONE,
  47. LOG_CONS|LOG_NDELAY|LOG_PID, LOG_DAEMON);
  48. zlog_set_level (NULL, ZLOG_DEST_SYSLOG, ZLOG_DISABLED);
  49. zlog_set_level (NULL, ZLOG_DEST_STDOUT, LOG_DEBUG);
  50. zlog_set_level (NULL, ZLOG_DEST_MONITOR, ZLOG_DISABLED);
  51. thread_execute (master, threadfunc, 0, 0);
  52. exit (0);
  53. }