mirror of
				https://git.tukaani.org/xz.git
				synced 2025-11-03 23:12:57 +00:00 
			
		
		
		
	liblzma: lzma_str_to_filters: Set *error_pos on all errors
The API docs clearly say that if error_pos isn't NULL then *error is always set on any error. However, it wasn't touched if str == NULL or filters == NULL or unsupported flags were specified. Fixes: cedeeca2ea6ada5b0411b2ae10d7a859e837f203
This commit is contained in:
		
							parent
							
								
									ed8e552395
								
							
						
					
					
						commit
						70d12dd069
					
				@ -1002,6 +1002,12 @@ extern LZMA_API(const char *)
 | 
			
		||||
lzma_str_to_filters(const char *str, int *error_pos, lzma_filter *filters,
 | 
			
		||||
		uint32_t flags, const lzma_allocator *allocator)
 | 
			
		||||
{
 | 
			
		||||
	// If error_pos isn't NULL, *error_pos must always be set.
 | 
			
		||||
	// liblzma <= 5.4.6 and <= 5.6.1 have a bug and don't do this
 | 
			
		||||
	// when str == NULL or filters == NULL or flags are unsupported.
 | 
			
		||||
	if (error_pos != NULL)
 | 
			
		||||
		*error_pos = 0;
 | 
			
		||||
 | 
			
		||||
	if (str == NULL || filters == NULL)
 | 
			
		||||
		return "Unexpected NULL pointer argument(s) "
 | 
			
		||||
				"to lzma_str_to_filters()";
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user