]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
2007-03-08 Daniel Franke <franke.daniel@gmail.com>
authordfranke <dfranke@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Mar 2007 21:46:16 +0000 (21:46 +0000)
committerdfranke <dfranke@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Mar 2007 21:46:16 +0000 (21:46 +0000)
        PR fortran/30947
        * intrinsics/signal.c (alarm_sub_int): Avoid SEGFAULT with
        integer arguments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122716 138bc75d-0d04-0410-961f-82ee72b054a4

libgfortran/ChangeLog
libgfortran/intrinsics/signal.c

index ad71a7e6b2052bde1b6c21dfb8e67f245ec7f266..889a70d5fc8ddddaf44ed9c4d21660097b0e5c89 100644 (file)
@@ -1,3 +1,9 @@
+2007-03-08  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/30947
+       * intrinsics/signal.c (alarm_sub_int): Avoid SEGFAULT with 
+       integer arguments.
+
 2007-03-04  Thomas Koenig  <Thomas.Koenig@online.de>
 
        PR libfortran/30981
index e912c90780eb7729297ad468f7f9df360b69aefa..2c2f38d2969fd3af9ae63c08d5a0e97842bbe3db 100644 (file)
@@ -170,14 +170,14 @@ alarm_sub_int (int *seconds, int *handler, int *status)
 #if defined (SIGALRM) && defined (HAVE_ALARM) && defined (HAVE_SIGNAL)
   if (status != NULL)
     {
-      if (signal (SIGALRM, (void (*)(int)) handler) == SIG_ERR)
+      if (signal (SIGALRM, (void (*)(int)) *handler) == SIG_ERR)
        *status = -1;
       else
        *status = alarm (*seconds);
     }
   else
     {
-      signal (SIGALRM, (void (*)(int)) handler);
+      signal (SIGALRM, (void (*)(int)) *handler);
       alarm (*seconds);
     }
 #else