The function qobject_from_json() doesn't actually allow its
argument to be a format string -- it passes a NULL va_list*
to qobject_from_jsonv(), and the parser code will then never
actually interpret %-escape sequences (it tests whether the
va_list pointer is NULL and will stop with a parse error).
The spurious attribute markup causes clang warnings in some
of the test cases where we programmatically construct JSON
to feed to qobject_from_json():
 tests/test-qmp-input-visitor.c:76:35: warning: format string is not a
 string literal (potentially insecure) [-Wformat-security]
    data->obj = qobject_from_json(json_string);
                                  ^~~~~~~~~~~
Remove the incorrect attribute.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
		
	
			
		
			
				
	
	
		
			30 lines
		
	
	
		
			734 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			734 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * QObject JSON integration
 | |
|  *
 | |
|  * Copyright IBM, Corp. 2009
 | |
|  *
 | |
|  * Authors:
 | |
|  *  Anthony Liguori   <aliguori@us.ibm.com>
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
 | |
|  * See the COPYING.LIB file in the top-level directory.
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #ifndef QJSON_H
 | |
| #define QJSON_H
 | |
| 
 | |
| #include <stdarg.h>
 | |
| #include "qemu/compiler.h"
 | |
| #include "qapi/qmp/qobject.h"
 | |
| #include "qapi/qmp/qstring.h"
 | |
| 
 | |
| QObject *qobject_from_json(const char *string);
 | |
| QObject *qobject_from_jsonf(const char *string, ...) GCC_FMT_ATTR(1, 2);
 | |
| QObject *qobject_from_jsonv(const char *string, va_list *ap) GCC_FMT_ATTR(1, 0);
 | |
| 
 | |
| QString *qobject_to_json(const QObject *obj);
 | |
| QString *qobject_to_json_pretty(const QObject *obj);
 | |
| 
 | |
| #endif /* QJSON_H */
 |