slackware-current/source/n/rdist/rdist-6.1.5-14.fix-msgsndnotify-loop.diff
Patrick J Volkerding b76270bf9e Slackware 13.1
Wed May 19 08:58:23 UTC 2010
Slackware 13.1 x86_64 stable is released!
Lots of thanks are due -- see the RELEASE_NOTES and the rest of the
ChangeLog for credits.  The ISOs are on their way to replication,
a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD.
We are taking pre-orders now at store.slackware.com, and offering
a discount if you sign up for a subscription.  Consider picking up
a copy to help support the project.  Thanks again to the Slackware
community for testing, contributing, and generally holding us to a
high level of quality.  :-)
Enjoy!
2018-05-31 22:43:05 +02:00

32 lines
786 B
Diff

--- rdist-6.1.5/src/message.c.thestokes 2006-04-19 17:30:39.000000000 -0400
+++ rdist-6.1.5/src/message.c 2006-04-19 17:36:37.000000000 -0400
@@ -793,15 +793,20 @@
char *msg;
{
static char buf[MSGBUFSIZ];
-
- ++nerrs;
-
- if (isserver)
- (void) sprintf(buf, "REMOTE ERROR: %s", msg);
- else
- (void) sprintf(buf, "LOCAL ERROR: %s", msg);
-
- _message(MT_FERROR, buf);
+ /* Don't reenter this function. There is a nasty infinite recursion
+ case that pops up when msgsndnotify tries to exit. */
+ static int inside=0;
+
+ if(inside==0){
+ ++nerrs;
+ inside=1;
+
+ if (isserver)
+ (void) sprintf(buf, "REMOTE ERROR: %s", msg);
+ else
+ (void) sprintf(buf, "LOCAL ERROR: %s", msg);
+ _message(MT_FERROR, buf);
+ }
exit(nerrs);
}