summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1998-09-17 08:35:07 +0000
committerAndrew Tridgell <tridge@samba.org>1998-09-17 08:35:07 +0000
commitc8e6aa6dc169f717b9d05b32fc666c0656fd54b3 (patch)
treee37fef229d0f9d4c45c022de034be55a53d9e486
parentd66a657f90b1c8410f2d49be87539954a39a0469 (diff)
downloadsamba-c8e6aa6dc169f717b9d05b32fc666c0656fd54b3.tar.gz
samba-c8e6aa6dc169f717b9d05b32fc666c0656fd54b3.tar.bz2
samba-c8e6aa6dc169f717b9d05b32fc666c0656fd54b3.zip
fixed another potential fork bomb where the wins file becomes
non-writeable for some reason. (This used to be commit 9edd43dcd6cc040416f11e00320c53682558fd8a)
-rw-r--r--source3/nmbd/nmbd_synclists.c2
-rw-r--r--source3/nmbd/nmbd_winsserver.c3
2 files changed, 5 insertions, 0 deletions
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;
}