From c8e6aa6dc169f717b9d05b32fc666c0656fd54b3 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 17 Sep 1998 08:35:07 +0000 Subject: fixed another potential fork bomb where the wins file becomes non-writeable for some reason. (This used to be commit 9edd43dcd6cc040416f11e00320c53682558fd8a) --- source3/nmbd/nmbd_synclists.c | 2 ++ source3/nmbd/nmbd_winsserver.c | 3 +++ 2 files changed, 5 insertions(+) (limited to 'source3') diff --git a/source3/nmbd/nmbd_synclists.c b/source3/nmbd/nmbd_synclists.c index 432b6dcbe2..dee64d501b 100644 --- a/source3/nmbd/nmbd_synclists.c +++ b/source3/nmbd/nmbd_synclists.c @@ -234,6 +234,8 @@ static void complete_sync(struct sync_record *s) int count=0; f = fopen(s->fname,"r"); + + if (!f) return; while (!feof(f)) { diff --git a/source3/nmbd/nmbd_winsserver.c b/source3/nmbd/nmbd_winsserver.c index 64f3142972..72386bd55b 100644 --- a/source3/nmbd/nmbd_winsserver.c +++ b/source3/nmbd/nmbd_winsserver.c @@ -1569,6 +1569,9 @@ void wins_write_database(BOOL background) if((fp = fopen(fnamenew,"w")) == NULL) { DEBUG(0,("wins_write_database: Can't open %s. Error was %s\n", fnamenew, strerror(errno))); + if (background) { + _exit(0); + } return; } -- cgit