RFR: JDK-8239139 testmake fail with warning about strncpy using gcc version 8(Internet mail)

linzang(臧琳) linzang at tencent.com
Tue Feb 18 06:05:37 UTC 2020


Dear Vyom, 
        Your change looks good to me. 
        And I have updated it to http://cr.openjdk.java.net/~lzang/8239139/webrev02/.

Thanks, 
Lin

>Hi Lin,
>
>thanks for  fixing this issue, i think your changes will have similar warnings with -Wformat-truncation flag. What do you think about below patch ?.
>
>Thanks,
>Vyom
>
>--- a/test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/libInheritedChannel.c    Mon Feb 17 18:52:50 2020 -0800
>+++ b/test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/libInheritedChannel.c    Tue Feb 18 10:09:50 2020 +0530
>@@ -232,11 +232,12 @@
> {
>     struct sockaddr_un addr;
>     const char *nameUtf = (*env)->GetStringUTFChars(env, name, NULL);
>-    int ret = -1;
>+    int ret = -1, length=sizeof(addr.sun_path);
>     unlink(nameUtf);
>     memset(&addr, 0, sizeof(addr));
>     addr.sun_family = AF_UNIX;
>-    strncpy(addr.sun_path, nameUtf, strlen(nameUtf));
>+    strncpy(addr.sun_path, nameUtf, length);
>+    addr.sun_path[length - 1] = '\0';
>     ret = bind(sock, (const struct sockaddr*)&addr, sizeof(addr));
>     if (ret == -1) {
>         ThrowException(env, "java/io/IOException", "socket bind error");
>
>----- Original message -----
>From: "linzang(臧琳)" <linzang at tencent.com>
>Sent by: "nio-dev" <nio-dev-bounces at openjdk.java.net>
>To: Alan Bateman <Alan.Bateman at oracle.com>, nio-dev <nio-dev at openjdk.java.net>
>Cc:
>Subject: [EXTERNAL] Re: Re: RFR: JDK-8239139 testmake fail with warning about strncpy using gcc version 8(Internet mail)
>Date: Tue, Feb 18, 2020 5:57 AM
> 
>Thanks Alan.
>
>Hi all,
>    May I get more review about this tiny patch? Thanks!
>
>--------------
>Lin
>>On 17/02/2020 10:37, linzang(臧琳) wrote:
>>> From updates in https://bugs.openjdk.java.net/browse/JDK-8239139 ,
>>> This is related to a test case of recent nio patch.
>>> so move this thread to nio-dev.
>>>
>>Yes, this test was expanded recently to run the launcher with stdin
>>connected to a Unix domain socket. The len parameter should have been
>>sizeof(addr.sun_path) but changing this to snprintf looks okay too.
>>
>>-Alan.
>>
>
>


More information about the nio-dev mailing list