| 
														
															@@ -539,6 +539,10 @@ consensus_cache_rescan(consensus_cache_t *cache) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     map = storage_dir_map_labeled(cache->dir, fname, 
														 | 
														
														 | 
														
															     map = storage_dir_map_labeled(cache->dir, fname, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                   &labels, &body, &bodylen); 
														 | 
														
														 | 
														
															                                   &labels, &body, &bodylen); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     if (! map) { 
														 | 
														
														 | 
														
															     if (! map) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      /* The ERANGE error might come from tor_mmap_file() -- it means the file 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+       * was empty. EINVAL might come from ..map_labeled() -- it means the 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+       * file was misformatted. In both cases, we should just delete it. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+       */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       if (errno == ERANGE || errno == EINVAL) { 
														 | 
														
														 | 
														
															       if (errno == ERANGE || errno == EINVAL) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         log_warn(LD_FS, "Found %s file %s in consensus cache; removing it.", 
														 | 
														
														 | 
														
															         log_warn(LD_FS, "Found %s file %s in consensus cache; removing it.", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                  errno == ERANGE ? "empty" : "misformatted", 
														 | 
														
														 | 
														
															                  errno == ERANGE ? "empty" : "misformatted", 
														 |