RFR(M): [ping!] 8139116: Fixes for warning "format not a string literal"
Lindenmaier, Goetz
goetz.lindenmaier at sap.com
Mon Oct 26 17:10:54 UTC 2015
Hi David,
thanks for looking at this change. I fixed the computation of the length
accordingly.
I appreciate a lot that you sponsor this change!
Volker 'R'eviewed it, so it should be fine now.
I already included the Reviewed-by in the new change, so it should
import nicely.
http://cr.openjdk.java.net/~goetz/webrevs/8139116-nonliteral/webrev.02/
Thanks and best regards,
Goetz.
> -----Original Message-----
> From: hotspot-runtime-dev [mailto:hotspot-runtime-dev-
> bounces at openjdk.java.net] On Behalf Of David Lindholm
> Sent: Montag, 26. Oktober 2015 16:11
> To: hotspot-runtime-dev at openjdk.java.net
> Subject: Re: RFR(M): [ping!] 8139116: Fixes for warning "format not a string
> literal"
>
> Goetz,
>
> This looks good in general, but I have one comment:
>
> systemDictionary.cpp:
>
> 2014 size_t buflen = strlen(linkage_error1) +
> strlen(class_loader_name) +
> 2015 strlen(linkage_error2) + strlen(type_name) + strlen("\"") + 1;
>
> This code is a little strange. I would prefer if you removed
> strlen("\"") (and replaced it with 1) and wrote a comment instead about
> this calculation.
>
>
> Other that that, this is reviewed, but I'm not a 'R'eviewer. I can
> sponsor the change though.
>
>
> Thanks,
> David
>
>
> On 2015-10-23 08:41, Lindenmaier, Goetz wrote:
> > Hi,
> >
> > Could some Reviewer please have a look at this change? I also need a
> sponsor!
> > I fixed the issue reported by Dmitry and rebased the change to todays hs-
> rt:
> > http://cr.openjdk.java.net/~goetz/webrevs/8139116-
> nonliteral/webrev.01/
> >
> > Thanks and best regards,
> > Goetz.
> >
> >
> > From: Lindenmaier, Goetz
> > Sent: Tuesday, October 13, 2015 11:32 AM
> > To: hotspot-runtime-dev at openjdk.java.net
> > Subject: RFR(M): 8139116: Fixes for warning "format not a string literal"
> >
> > Hi,
> >
> > The gcc build has -Wformat enabled. This warns if the format string in a
> printf-like function is not a string literal, because if so it can not check that the
> types of the arguments match the format specifiers.
> >
> > In a row of places this warning is suppressed by
> PRAGMA_FORMAT_NONLITERAL_IGNORED. This change fixes all but three
> occurrences of this pragma.
> >
> > This especially improves heapInspection.hpp where a static buffer is used
> to print the format string, which is not multithreading safe.
> >
> > I didn't understand the purpose of the original code in heapDumper.cpp.
> Was this
> > just bogus code, or did I oversee something?
> >
> > Also, I don't know why there was the workaround for '*' in
> heapInspection.cpp and globals.cpp.
> > Is there any platform that does not understand this?
> >
> > Please review this change. I please need a sponsor.
> > http://cr.openjdk.java.net/~goetz/webrevs/8139116-
> nonliteral/webrev.00/
> >
> > Best regards,
> > Goetz.
More information about the hotspot-runtime-dev
mailing list