diff --git a/ChangeLog b/ChangeLog index 07897467..951dbaef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -54,6 +54,8 @@ v0.61.4 11-Aug-2004 Added extra fflush in quickscan mail. When calling the external editor, the fromaddress if available is given to joe. + In Quick_Bye reset all signal handlers to prevent that die() is + called in case something goes wrong during Quick_Bye. mbnewusr: During program exit, it tried to remove the wrong socket to diff --git a/mbsebbs/bye.c b/mbsebbs/bye.c index 599a85ff..ba7b4eb9 100644 --- a/mbsebbs/bye.c +++ b/mbsebbs/bye.c @@ -139,6 +139,7 @@ void Good_Bye(int onsig) void Quick_Bye(int onsig) { char *temp; + int i; temp = calloc(PATH_MAX, sizeof(char)); Syslog('+', "Quick_Bye"); @@ -147,12 +148,17 @@ void Quick_Bye(int onsig) unlink(temp); free(temp); + /* + * Prevent that we call die() if something goes wrong next + */ + for (i = 0; i < NSIG; i++) + signal(i, SIG_DFL); + colour(LIGHTGRAY, BLACK); fflush(stdout); fflush(stdin); sleep(3); - Free_Language(); free(pTTY); if (StartTime) free(StartTime);