Fix possible crashes

master
teknomunk 5 months ago
parent c57a8bb19f
commit b4edcf9a33

@ -13,6 +13,7 @@ int fs_list_get( const char* filename )
f = fopen(filename,"r");
if( !f ) {
printf( "Failed to open %s, initializing at 0\n", filename );
fs_list_set(filename,0);
return 0;
}
fscanf( f, "%d", &pos );
@ -25,11 +26,14 @@ void fs_list_set( const char* path, int value )
char buffer[512];
snprintf( buffer,sizeof(buffer), "%s.lock", path );
int fd = open( buffer, O_CREAT );
if( !fd ) { return; }
flock( fd, LOCK_EX );
char tmp_filename[512];
snprintf( tmp_filename, 512, "%s.tmp", path );
FILE* f = fopen(tmp_filename,"w");
if( !f ) { return; }
fprintf( f, "%d", value );
fclose(f);
rename( tmp_filename, path );

Loading…
Cancel
Save