-
Bug
-
Resolution: Fixed
-
P4
-
11, 16
-
b09
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8288420 | 15.0.8 | Yuri Nesterenko | P4 | Resolved | Fixed | b03 |
JDK-8288424 | 13.0.12 | Yuri Nesterenko | P4 | Resolved | Fixed | b03 |
JDK-8304399 | 11.0.20-oracle | Fairoz Matte | P4 | Resolved | Fixed | b01 |
JDK-8273705 | 11.0.14 | Aleksey Shipilev | P4 | Resolved | Fixed | b01 |
Koichi Sakata <sakatakui@oss.nttdata.com> reported:
I tried to build OpenJDK fastdebug with GCC 10.1 on Ubuntu 18.04, but I
saw some compiler warnings as follows:
/home/jyukutyo/code/jdk/src/java.base/share/native/libfdlibm/: In
function '__j__kernel_standard':
/home/jyukutyo/code/jdk/src/java.base/share/native/libfdlibm/k_standard.c:743:19:
error: 'exc.retval' may be used uninitialized in this function
[-Werror=maybe-uninitialized]
743 | return exc.retval;
| ~~~^~~~~~~
In file included from /usr/include/string.h:494,
from
/home/jyukutyo/code/jdk/src/java.base/unix/native/libnet/NetworkInterface.c:30:
In function 'strncpy',
inlined from 'getFlags' at
/home/jyukutyo/code/jdk/src/java.base/unix/native/libnet/NetworkInterface.c:1362:5,
inlined from 'addif' at
/home/jyukutyo/code/jdk/src/java.base/unix/native/libnet/NetworkInterface.c:974:13:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error:
'__builtin_strncpy' output may be truncated copying 15 bytes from a
string of length 15 [-Werror=stringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos
(__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I can resolve them with the following patch. I believe it fixes those
potential bugs, so I'd like to contribute it.
(Our company has signed OCA.)
Thanks,
Koichi
===== PATCH =====
diff -r 20d92fe3ac52 src/java.base/share/native/libfdlibm/k_standard.c
--- a/src/java.base/share/native/libfdlibm/k_standard.c Tue Jun 16
03:16:41 2020 +0000
+++ b/src/java.base/share/native/libfdlibm/k_standard.c Thu Jun 18
07:08:50 2020 +0900
@@ -739,6 +739,10 @@
errno = EDOM;
}
break;
+ default:
+ exc.retval = zero;
+ errno = EINVAL;
+ break;
}
return exc.retval;
}
diff -r 20d92fe3ac52 src/java.base/unix/native/libnet/NetworkInterface.c
--- a/src/java.base/unix/native/libnet/NetworkInterface.c Tue Jun
16 03:16:41 2020 +0000
+++ b/src/java.base/unix/native/libnet/NetworkInterface.c Thu Jun
18 07:08:50 2020 +0900
@@ -1296,7 +1296,10 @@
static int getIndex(int sock, const char *name) {
struct ifreq if2;
memset((char *)&if2, 0, sizeof(if2));
- strncpy(if2.ifr_name, name, sizeof(if2.ifr_name) - 1);
+ if (sizeof(if2.ifr_name) < sizeof(name)) {
+ return -1;
+ }
+ strcpy(if2.ifr_name, name);
if (ioctl(sock, SIOCGIFINDEX, (char *)&if2) < 0) {
return -1;
@@ -1359,7 +1362,10 @@
static int getFlags(int sock, const char *ifname, int *flags) {
struct ifreq if2;
memset((char *)&if2, 0, sizeof(if2));
- strncpy(if2.ifr_name, ifname, sizeof(if2.ifr_name) - 1);
+ if (sizeof(if2.ifr_name) < sizeof(ifname)) {
+ return -1;
+ }
+ strcpy(if2.ifr_name, ifname);
if (ioctl(sock, SIOCGIFFLAGS, (char *)&if2) < 0) {
return -1;
- backported by
-
JDK-8273705 Build error with GCC 10 in NetworkInterface.c and k_standard.c
- Resolved
-
JDK-8288420 Build error with GCC 10 in NetworkInterface.c and k_standard.c
- Resolved
-
JDK-8288424 Build error with GCC 10 in NetworkInterface.c and k_standard.c
- Resolved
-
JDK-8304399 Build error with GCC 10 in NetworkInterface.c and k_standard.c
- Resolved
- links to
-
Commit openjdk/jdk11u-dev/4af62d83
-
Commit openjdk/jdk13u-dev/7f778204
-
Commit openjdk/jdk15u-dev/8d352508
-
Review openjdk/jdk11u-dev/335
-
Review openjdk/jdk13u-dev/359
-
Review openjdk/jdk15u-dev/223