On Wed, Sep 25, 2019 at 11:00:13AM +0100, Ben Dooks wrote: > +static int printf_fmt_string(struct format_type *fmt, struct expression **expr, struct symbol *ctype, struct symbol **target, const char **typediff) > +{ > + *target = &string_ctype; This should be const_string_ctype and a test should be added for "%s" with a non-const char pointer/array. > +static int printf_fmt_pointer(struct format_type *fmt, struct expression **expr, struct symbol *ctype, struct symbol **target, const char **typediff) > +{ > + *target = &ptr_ctype; Same here with const_ptr_ctype (but I've not tested it). > +static int printf_fmt_print_pointer(struct format_type *fmt, struct expression **expr, struct symbol *ctype, struct symbol **target, const char **typediff) > +{ > + int ret; > + *target = &ptr_ctype; Same here. -- Luc