mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-04 05:15:22 +00:00 
			
		
		
		
	Astobj2: Ensure all calls to __adjust_lock pass a valid object.
__adjust_lock doesn't check for invalid objects, and doesn't have an appropriate return value for invalid objects. Most callers of __adjust_lock pass objects that have already been confirmed valid, this change adds checks before the remaining calls. ASTERISK-24997 #close Reported by: Corey Farrell Change-Id: I669100f87937cc3f867cec56a27ae9c01292908f
This commit is contained in:
		@@ -510,6 +510,12 @@ struct ao2_iterator ao2_iterator_init(struct ao2_container *c, int flags)
 | 
			
		||||
 | 
			
		||||
void ao2_iterator_restart(struct ao2_iterator *iter)
 | 
			
		||||
{
 | 
			
		||||
	if (!is_ao2_object(iter->c)) {
 | 
			
		||||
		ast_log(LOG_ERROR, "Iterator container is not valid.\n");
 | 
			
		||||
		ast_assert(0);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Release the last container node reference if we have one. */
 | 
			
		||||
	if (iter->last_node) {
 | 
			
		||||
		enum ao2_lock_req orig_lock;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user