$NetBSD: patch-ab,v 1.1.1.1 2004/03/12 00:01:18 snj Exp $ --- record.c.orig 1997-11-08 08:41:40.000000000 +0100 +++ record.c 2004-03-08 18:48:54.000000000 +0100 @@ -182,13 +182,17 @@ void init_record( void ) { FILE *fp; + mode_t mask; Record_entry = -1; - if( ( fp = fopen( RECORD_FILE,"r+" ) ) == NULL ){ + mask = umask(S_IWOTH); + if( ( fp = fopen( RECORD_FILE,"a+" ) ) == NULL ){ error(); return; } + umask(mask); + rewind(fp); flock( fileno(fp),LOCK_EX ); read_record( fp ); fclose( fp ); @@ -233,15 +237,18 @@ FILE *fp; int i,r; int uid; + mode_t mask; if( Record_entry == -1 ) return ; - if( (fp = fopen(RECORD_FILE,"r+")) == NULL ){ + mask = umask(S_IWOTH); + if( (fp = fopen(RECORD_FILE,"a+")) == NULL ){ error(); return; } - + umask(mask); + rewind(fp); flock( fileno(fp),LOCK_EX ); read_record( fp );