* [musl] [PATCH 1/2] fix error checking in pthread_getname_np
@ 2021-07-10 3:24 Érico Nogueira
2021-07-10 3:25 ` [musl] [PATCH 2/2] add -Wtype-limits to enabled warning list Érico Nogueira
0 siblings, 1 reply; 3+ messages in thread
From: Érico Nogueira @ 2021-07-10 3:24 UTC (permalink / raw)
To: musl; +Cc: Érico Nogueira, Michael Forney
len is unsigned and can never be smaller than 0. though unlikely, an
error in read() would have lead to an out of bounds write to name.
Reported-by: Michael Forney <mforney@mforney.org>
---
src/thread/pthread_getname_np.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/thread/pthread_getname_np.c b/src/thread/pthread_getname_np.c
index 48d1a294..85504e45 100644
--- a/src/thread/pthread_getname_np.c
+++ b/src/thread/pthread_getname_np.c
@@ -17,7 +17,7 @@ int pthread_getname_np(pthread_t thread, char *name, size_t len)
snprintf(f, sizeof f, "/proc/self/task/%d/comm", thread->tid);
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs);
- if ((fd = open(f, O_RDONLY|O_CLOEXEC)) < 0 || (len = read(fd, name, len)) < 0) status = errno;
+ if ((fd = open(f, O_RDONLY|O_CLOEXEC)) < 0 || (len = read(fd, name, len)) == -1) status = errno;
else name[len-1] = 0; /* remove trailing new line only if successful */
if (fd >= 0) close(fd);
pthread_setcancelstate(cs, 0);
--
2.32.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [musl] [PATCH 2/2] add -Wtype-limits to enabled warning list
2021-07-10 3:24 [musl] [PATCH 1/2] fix error checking in pthread_getname_np Érico Nogueira
@ 2021-07-10 3:25 ` Érico Nogueira
2021-07-10 17:00 ` Rich Felker
0 siblings, 1 reply; 3+ messages in thread
From: Érico Nogueira @ 2021-07-10 3:25 UTC (permalink / raw)
To: musl; +Cc: Érico Nogueira
this warning catches conditionals which are never true, such as checking
if an unsigned value is smaller than zero. this leads to two warnings in
the getgr_a.c and getpw_a.c files, which assume that the underlying type
for gid_t and uid_t might still change.
---
configure | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure b/configure
index a5231a0e..b7beaeab 100755
--- a/configure
+++ b/configure
@@ -546,6 +546,7 @@ tryflag CFLAGS_AUTO -Winit-self
tryflag CFLAGS_AUTO -Wreturn-type
tryflag CFLAGS_AUTO -Wsequence-point
tryflag CFLAGS_AUTO -Wstrict-aliasing
+tryflag CFLAGS_AUTO -Wtype-limits
tryflag CFLAGS_AUTO -Wunused-function
tryflag CFLAGS_AUTO -Wunused-label
tryflag CFLAGS_AUTO -Wunused-variable
--
2.32.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [musl] [PATCH 2/2] add -Wtype-limits to enabled warning list
2021-07-10 3:25 ` [musl] [PATCH 2/2] add -Wtype-limits to enabled warning list Érico Nogueira
@ 2021-07-10 17:00 ` Rich Felker
0 siblings, 0 replies; 3+ messages in thread
From: Rich Felker @ 2021-07-10 17:00 UTC (permalink / raw)
To: musl
On Sat, Jul 10, 2021 at 12:25:00AM -0300, Érico Nogueira wrote:
> this warning catches conditionals which are never true, such as checking
> if an unsigned value is smaller than zero. this leads to two warnings in
> the getgr_a.c and getpw_a.c files, which assume that the underlying type
> for gid_t and uid_t might still change.
> ---
> configure | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/configure b/configure
> index a5231a0e..b7beaeab 100755
> --- a/configure
> +++ b/configure
> @@ -546,6 +546,7 @@ tryflag CFLAGS_AUTO -Winit-self
> tryflag CFLAGS_AUTO -Wreturn-type
> tryflag CFLAGS_AUTO -Wsequence-point
> tryflag CFLAGS_AUTO -Wstrict-aliasing
> +tryflag CFLAGS_AUTO -Wtype-limits
> tryflag CFLAGS_AUTO -Wunused-function
> tryflag CFLAGS_AUTO -Wunused-label
> tryflag CFLAGS_AUTO -Wunused-variable
> --
> 2.32.0
I probably won't adopt this, since it necessarily breaks generic
(macro) or underlying-type-agnostic code written to be safe with both
signed and unsigned types.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-07-10 17:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-10 3:24 [musl] [PATCH 1/2] fix error checking in pthread_getname_np Érico Nogueira
2021-07-10 3:25 ` [musl] [PATCH 2/2] add -Wtype-limits to enabled warning list Érico Nogueira
2021-07-10 17:00 ` Rich Felker
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).