diff options
author | Andrew Tridgell <tridge@samba.org> | 1998-09-17 08:35:07 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 1998-09-17 08:35:07 +0000 |
commit | c8e6aa6dc169f717b9d05b32fc666c0656fd54b3 (patch) | |
tree | e37fef229d0f9d4c45c022de034be55a53d9e486 | |
parent | d66a657f90b1c8410f2d49be87539954a39a0469 (diff) | |
download | samba-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.c | 2 | ||||
-rw-r--r-- | source3/nmbd/nmbd_winsserver.c | 3 |
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; } |