<AWT Dev> RFR: [XXS] 8228468: awt_Robot.c : format string contains 0 within the string body - was : RE: awt_Robot.c : format string contains '\0' within the string body
Sergey Bylokhov
Sergey.Bylokhov at oracle.com
Mon Jul 22 21:22:08 UTC 2019
Looks fine.
On 22/07/2019 01:26, Baesken, Matthias wrote:
> Hi Sergey, thanks for the reply !
>
> I created a bug + webrev . Please review .
>
> https://bugs.openjdk.java.net/browse/JDK-8228468
>
> http://cr.openjdk.java.net/~mbaesken/webrevs/8228468.0/
>
> Best regards, Matthias
>
> *From:*Sergey Bylokhov <sergey.bylokhov at oracle.com>
> *Sent:* Freitag, 19. Juli 2019 23:06
> *To:* Baesken, Matthias <matthias.baesken at sap.com>
> *Cc:* awt-dev at openjdk.java.net; 2d-dev at openjdk.java.net
> *Subject:* Re: <AWT Dev> awt_Robot.c : format string contains '\0' within the string body
>
> Hi, Matthias.
>
> I think it is unneeded and can be removed.
>
> ----- matthias.baesken at sap.com <mailto:matthias.baesken at sap.com> wrote:
>>
>
>>
>
>>
>
> Hello, is there a special reason to put a '\0' at the end of the “atom_name” - parameter of the XInternAtom call in isXCompositeDisplay ?
>
> jdk/src/java.desktop/unix/native/libawt_xawt/awt/awt_Robot.c :
>
> static jboolean isXCompositeDisplay(Display *display, int screenNumber) {
>
> char NET_WM_CM_Sn[25];
>
> snprintf(NET_WM_CM_Sn, sizeof(NET_WM_CM_Sn), "_NET_WM_CM_S%d\0", screenNumber);
>
> Atom managerSelection = XInternAtom(display, NET_WM_CM_Sn, 0);
>
> I think on UNIX the snprintf implementations are conforming and zero-terminate ( exception was VS before VS2015 but this is unix/native code ).
>
> Reason why I ask is this warning we have in our AIX xlc16/xlclang build :
>
> /jdk/src/java.desktop/unix/native/libawt_xawt/awt/awt_Robot.c:153:65: warning: format string contains '\0' within the string body [-Wformat]
>
> snprintf(NET_WM_CM_Sn, sizeof(NET_WM_CM_Sn), "_NET_WM_CM_S%d\0", screenNumber);
>
> Thanks, Matthias
>
--
Best regards, Sergey.
More information about the awt-dev
mailing list