Невозможно программно вызывать функцию с переменными числами и типом аргументов.Вы можете использовать соответствующие функции "v" (vprintf
и т. Д.), Но нет способа заставить va_list
передавать им из внешнего кода и передавать его через DBus.
В любом случае вы действительнонужно переосмыслить свой дизайн.Небезопасно вызывать printf
со строкой форматирования, которая не контролируется вашей программой на 100%.Передача строки формата, предоставленной клиентом, является формулой бедствия, поскольку printf
вызывает неопределенное поведение , если строка формата не соответствует аргументам.Почти во всех реальных ситуациях это будет означать повышение привилегий vulns !