make comparion of loop safe against underflows
This commit is contained in:
		
							parent
							
								
									885cd05f1a
								
							
						
					
					
						commit
						cfa4d80dd7
					
				| @ -432,13 +432,15 @@ int main(int argc, char *argv[]) | |||||||
|             position += edge - last_edge;           // remove
 |             position += edge - last_edge;           // remove
 | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         for (unsigned sentinel_counter = max_used_node_id; sentinel_counter != node_array.size(); |         for (unsigned sentinel_counter = max_used_node_id; sentinel_counter < node_array.size(); | ||||||
|              ++sentinel_counter) |              ++sentinel_counter) | ||||||
|         { |         { | ||||||
|             // sentinel element, guarded against underflow
 |             // sentinel element, guarded against underflow
 | ||||||
|             node_array[sentinel_counter].first_edge = contracted_edge_count; |             node_array[sentinel_counter].first_edge = contracted_edge_count; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         SimpleLogger().Write() << "Serializing node array"; | ||||||
|  | 
 | ||||||
|         const unsigned node_array_size = node_array.size(); |         const unsigned node_array_size = node_array.size(); | ||||||
|         // serialize crc32, aka checksum
 |         // serialize crc32, aka checksum
 | ||||||
|         hsgr_output_stream.write((char *)&node_based_edge_list_CRC32, sizeof(unsigned)); |         hsgr_output_stream.write((char *)&node_based_edge_list_CRC32, sizeof(unsigned)); | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user