From 92486154f51fbed2b418b40aeb9c66ca6cf73f3f Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Mon, 30 Aug 2010 17:13:53 -0600 Subject: [PATCH] strstr, memmem, strcasestr: avoid leaked shell message * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from FreeBSD. * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise. Signed-off-by: Eric Blake --- ChangeLog | 6 ++++++ m4/memmem.m4 | 5 +++-- m4/strcasestr.m4 | 5 +++-- m4/strstr.m4 | 5 +++-- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 45bd20ff0..a7b5e681d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2010-08-30 Eric Blake + strstr, memmem, strcasestr: avoid leaked shell message + * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from + FreeBSD. + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise. + tests: silence clang warning * tests/test-malloca.c (do_allocation): Avoid dead store. diff --git a/m4/memmem.m4 b/m4/memmem.m4 index c6506ee5c..d02b99359 100644 --- a/m4/memmem.m4 +++ b/m4/memmem.m4 @@ -1,4 +1,4 @@ -# memmem.m4 serial 14 +# memmem.m4 serial 15 dnl Copyright (C) 2002, 2003, 2004, 2007, 2008, 2009, 2010 Free Software dnl Foundation, Inc. dnl This file is free software; the Free Software Foundation @@ -32,13 +32,14 @@ AC_DEFUN([gl_FUNC_MEMMEM], #include /* for memmem */ #include /* for malloc */ #include /* for alarm */ +static void quit (int sig) { exit (sig + 128); } ]], [[size_t m = 1000000; char *haystack = (char *) malloc (2 * m + 1); char *needle = (char *) malloc (m + 1); void *result = 0; /* Failure to compile this test due to missing alarm is okay, since all such platforms (mingw) also lack memmem. */ - signal (SIGALRM, SIG_DFL); + signal (SIGALRM, quit); alarm (5); /* Check for quadratic performance. */ if (haystack && needle) diff --git a/m4/strcasestr.m4 b/m4/strcasestr.m4 index 6e940bcb6..50ac0a772 100644 --- a/m4/strcasestr.m4 +++ b/m4/strcasestr.m4 @@ -1,4 +1,4 @@ -# strcasestr.m4 serial 13 +# strcasestr.m4 serial 14 dnl Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -39,13 +39,14 @@ AC_DEFUN([gl_FUNC_STRCASESTR], #include /* for memmem */ #include /* for malloc */ #include /* for alarm */ +static void quit (int sig) { exit (sig + 128); } ]], [[size_t m = 1000000; char *haystack = (char *) malloc (2 * m + 2); char *needle = (char *) malloc (m + 2); void *result = 0; /* Failure to compile this test due to missing alarm is okay, since all such platforms (mingw) also lack strcasestr. */ - signal (SIGALRM, SIG_DFL); + signal (SIGALRM, quit); alarm (5); /* Check for quadratic performance. */ if (haystack && needle) diff --git a/m4/strstr.m4 b/m4/strstr.m4 index 779957aac..3e45a7a08 100644 --- a/m4/strstr.m4 +++ b/m4/strstr.m4 @@ -1,4 +1,4 @@ -# strstr.m4 serial 7 +# strstr.m4 serial 8 dnl Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -27,13 +27,14 @@ AC_DEFUN([gl_FUNC_STRSTR], #include /* for memmem */ #include /* for malloc */ #include /* for alarm */ +static void quit (int sig) { exit (sig + 128); } ]], [[size_t m = 1000000; char *haystack = (char *) malloc (2 * m + 2); char *needle = (char *) malloc (m + 2); void *result = 0; /* Failure to compile this test due to missing alarm is okay, since all such platforms (mingw) also have quadratic strstr. */ - signal (SIGALRM, SIG_DFL); + signal (SIGALRM, quit); alarm (5); /* Check for quadratic performance. */ if (haystack && needle) -- 2.11.0