RFR(M): 8139116: Fixes for warning "format not a string literal"

Dmitry Dmitriev dmitry.dmitriev at oracle.com
Mon Oct 19 12:53:21 UTC 2015


Hello Goetz,

One comment:
1) src/share/vm/classfile/systemDictionary.cpp
Line 2012: "strlen(linkage_error2)" should be instead of 
"strlen(linkage_error1)"

I'm not a Reviewer.

Thanks,
Dmitry

On 19.10.2015 11:00, Lindenmaier, Goetz wrote:
> Hi,
>
> could someone please have a look at these changes?
>
> Best regards,
>    Goetz.
>
>> -----Original Message-----
>> From: hotspot-runtime-dev [mailto:hotspot-runtime-dev-
>> bounces at openjdk.java.net] On Behalf Of Lindenmaier, Goetz
>> Sent: Dienstag, 13. Oktober 2015 11:32
>> 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