mirror of
				https://github.com/eledio-devices/thirdparty-littlefs.git
				synced 2025-10-31 08:42:40 +01:00 
			
		
		
		
	Added error when opening multiple files with a statically allocated buffer
Opening multiple files simultaneously is not supported without dynamic memory, but the previous behaviour would just let the files overwrite each other, which could lead to bad errors down the line found by husigeza
This commit is contained in:
		
							
								
								
									
										4
									
								
								lfs.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								lfs.c
									
									
									
									
									
								
							| @@ -1335,6 +1335,10 @@ int lfs_file_open(lfs_t *lfs, lfs_file_t *file, | |||||||
|     // allocate buffer if needed |     // allocate buffer if needed | ||||||
|     file->cache.block = 0xffffffff; |     file->cache.block = 0xffffffff; | ||||||
|     if (lfs->cfg->file_buffer) { |     if (lfs->cfg->file_buffer) { | ||||||
|  |         if (lfs->files) { | ||||||
|  |             // already in use | ||||||
|  |             return LFS_ERR_NOMEM; | ||||||
|  |         } | ||||||
|         file->cache.buffer = lfs->cfg->file_buffer; |         file->cache.buffer = lfs->cfg->file_buffer; | ||||||
|     } else if ((file->flags & 3) == LFS_O_RDONLY) { |     } else if ((file->flags & 3) == LFS_O_RDONLY) { | ||||||
|         file->cache.buffer = lfs_malloc(lfs->cfg->read_size); |         file->cache.buffer = lfs_malloc(lfs->cfg->read_size); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user