diff options
Diffstat (limited to 'lv2/atom')
| -rw-r--r-- | lv2/atom/util.h | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/lv2/atom/util.h b/lv2/atom/util.h index 383d304..6f3158f 100644 --- a/lv2/atom/util.h +++ b/lv2/atom/util.h @@ -371,6 +371,7 @@ lv2_atom_object_body_get(uint32_t size, const LV2_Atom_Object_Body* body, ...)  	va_start(args, body);  	for (n_queries = 0; va_arg(args, uint32_t); ++n_queries) {  		if (!va_arg(args, const LV2_Atom**)) { +			va_end(args);  			return -1;  		}  	} @@ -384,6 +385,7 @@ lv2_atom_object_body_get(uint32_t size, const LV2_Atom_Object_Body* body, ...)  			if (qkey == prop->key && !*qval) {  				*qval = &prop->value;  				if (++matches == n_queries) { +					va_end(args);  					return matches;  				}  				break; @@ -424,6 +426,7 @@ lv2_atom_object_get(const LV2_Atom_Object* object, ...)  	va_start(args, object);  	for (n_queries = 0; va_arg(args, uint32_t); ++n_queries) {  		if (!va_arg(args, const LV2_Atom**)) { +			va_end(args);  			return -1;  		}  	} @@ -437,6 +440,7 @@ lv2_atom_object_get(const LV2_Atom_Object* object, ...)  			if (qkey == prop->key && !*qval) {  				*qval = &prop->value;  				if (++matches == n_queries) { +					va_end(args);  					return matches;  				}  				break; @@ -479,6 +483,7 @@ lv2_atom_object_get_typed(const LV2_Atom_Object* object, ...)  	for (n_queries = 0; va_arg(args, uint32_t); ++n_queries) {  		if (!va_arg(args, const LV2_Atom**) ||  		    !va_arg(args, uint32_t)) { +			va_end(args);  			return -1;  		}  	} @@ -493,6 +498,7 @@ lv2_atom_object_get_typed(const LV2_Atom_Object* object, ...)  			if (!*qval && qkey == prop->key && qtype == prop->value.type) {  				*qval = &prop->value;  				if (++matches == n_queries) { +					va_end(args);  					return matches;  				}  				break; |