On 08/03/2021 21:56, Joel Sherrill wrote:
Module: rtems
Branch: master
Commit: 597e4f476568a225d14dfaff02074cf269ad62ac
Changeset:http://git.rtems.org/rtems/commit/?id=597e4f476568a225d14dfaff02074cf269ad62ac
Author: Ryan Long<ryan.l...@oarcorp.com>
Date: Tue Mar 2 11:08:28 2021 -0500
gen_uuid.c: Fix two Unchecked return value from library errors
CID 1049146: Unchecked return value from library in get_clock().
CID 1049147: Unchecked return value from library in get_random_fd().
Closes #4280
---
cpukit/libmisc/uuid/gen_uuid.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/cpukit/libmisc/uuid/gen_uuid.c b/cpukit/libmisc/uuid/gen_uuid.c
index 3ca75a0..5bb34c0 100644
--- a/cpukit/libmisc/uuid/gen_uuid.c
+++ b/cpukit/libmisc/uuid/gen_uuid.c
@@ -155,6 +155,7 @@ static int get_random_fd(void)
struct timeval tv;
static int fd = -2;
int i;
+ int sc;
if (fd == -2) {
gettimeofday(&tv, 0);
@@ -164,8 +165,10 @@ static int get_random_fd(void)
fd = open("/dev/random", O_RDONLY | O_NONBLOCK);
if (fd >= 0) {
i = fcntl(fd, F_GETFD);
- if (i >= 0)
- fcntl(fd, F_SETFD, i | FD_CLOEXEC);
+ if (i >= 0) {
+ sc = fcntl(fd, F_SETFD, i | FD_CLOEXEC);
+ _Assert_Unused_variable_unequal(sc, -1);
+ }
FD_CLOEXEC is not supported by RTEMS. Do we even have these device files
in RTEMS? This is 3rd-party code, what about upstream changes?
}
#endif
srand((getpid() << ((sizeof(pid_t)*CHAR_BIT)>>1)) ^ getuid() ^
tv.tv_sec ^ tv.tv_usec);
@@ -334,6 +337,7 @@ static int get_clock(uint32_t *clock_high, uint32_t
*clock_low,
uint64_t clock_reg;
mode_t save_umask;
int len;
+ int sc;
if (state_fd == -2) {
save_umask = umask(0);
@@ -426,7 +430,8 @@ try_again:
}
rewind(state_f);
fl.l_type = F_UNLCK;
- fcntl(state_fd, F_SETLK, &fl);
+ sc = fcntl(state_fd, F_SETLK, &fl);
+ _Assert_Unused_variable_unequal(sc, -1);
F_SETLK is not supported by RTEMS.
}
*clock_high = clock_reg >> 32;
The patch produces warnings like this:
../../../cpukit/libmisc/uuid/gen_uuid.c: In function 'get_clock':
../../../cpukit/libmisc/uuid/gen_uuid.c:434:3: warning: implicit
declaration of function '_Assert_Unused_variable_unequal'
[-Wimplicit-function-declaration]
434 | _Assert_Unused_variable_unequal(sc, -1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../cpukit/libmisc/uuid/gen_uuid.c:434:3: warning: nested extern
declaration of '_Assert_Unused_variable_unequal' [-Wnested-externs]
In total, how was this patch tested?
If you add _Assert() stuff, please build with RTEMS_DEBUG enabled and
run the tests.
--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax: +49-89-18 94 741 - 08
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel