[vlc-devel] [PATCH] control: rc: avoid stringop-truncation warning

Alexandre Janniaux ajanni at videolabs.io
Mon Jan 20 16:22:18 CET 2020


Unfortunately, I'm not sure I understand what problem you're talking
about. Can you be more explicit about it?

AFAIU in the current situation, there was no issues but only an unsafe
usage of strncpy which was not harmful as it was protected by an ending
'\0' character enforcement. I don't see what the warning is
highlighting otherwise.

Regards,
--
Alexandre Janniaux
Videolabs

On Mon, Jan 20, 2020 at 04:44:32PM +0200, Rémi Denis-Courmont wrote:
> Hi,
>
> The point is that the warning points to a real problem with the implementation, which the patch does not fix. And as a general rule, I'm against removing warnings without fixing the real problem.
>
> Le 20 janvier 2020 15:51:03 GMT+02:00, Alexandre Janniaux <ajanni at videolabs.io> a écrit :
> >Hi,
> >
> >There should be no functional differences as the null character is
> >forced in the end of the path. Copying one meaningful character less
> >would happend as soon as the path is already too long, and otherwise
> >only the strncpy null character is expected to be truncated, but is
> >ensured by the code following.
> >
> >The documentation state that sun_path should contain a null-terminated
> >pathname so it doesn't look wrong to enforce the last \0 byte too. Am
> >I missing something?
> >
> >I hope I'm clear enough,
> >
> >Regards,
> >--
> >Alexandre Janniaux
> >Videolabs
> >
> >On Mon, Jan 20, 2020 at 03:29:43PM +0200, Rémi Denis-Courmont wrote:
> >> On second consideration, chopping the path is not correct behaviour.
> >This patch is concealing the bug highlighted by the warning rather than
> >fixing it IMO.
> >>
> >> Better drop the feature altogether as I dot think anyone's using it.
> >>
> >> Le 20 janvier 2020 09:38:46 GMT+02:00, "Rémi Denis-Courmont"
> ><remi at remlab.net> a écrit :
> >> >OK, though I'd suggest removing Unix socket support entirely as the
> >old
> >> >RC "protocol" is not suitable for programmatic usage.
> >> >
> >> >Le 19 janvier 2020 17:39:27 GMT+02:00, Alexandre Janniaux
> >> ><ajanni at videolabs.io> a écrit :
> >> >>Fortify enabled implies a warning if we use strncpy with a length
> >> >equal
> >> >>to the buffer size. As we fill the last item with a null character,
> >we
> >> >>can use length-1 instead as well.
> >> >>---
> >> >> modules/control/rc.c | 2 +-
> >> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >> >>
> >> >>diff --git a/modules/control/rc.c b/modules/control/rc.c
> >> >>index cd85602d59..dc37d352ad 100644
> >> >>--- a/modules/control/rc.c
> >> >>+++ b/modules/control/rc.c
> >> >>@@ -1730,7 +1730,7 @@ static int Activate( vlc_object_t *p_this )
> >> >>         }
> >> >>
> >> >>         addr.sun_family = AF_LOCAL;
> >> >>-        strncpy( addr.sun_path, psz_unix_path, sizeof(
> >addr.sun_path
> >> >)
> >> >>);
> >> >>+        strncpy( addr.sun_path, psz_unix_path, sizeof(
> >addr.sun_path
> >> >)
> >> >>- 1 );
> >> >>         addr.sun_path[sizeof( addr.sun_path ) - 1] = '\0';
> >> >>
> >> >>         if (bind (i_socket, (struct sockaddr *)&addr, sizeof
> >(addr))
> >> >>--
> >> >>2.25.0
> >> >>
> >> >>_______________________________________________
> >> >>vlc-devel mailing list
> >> >>To unsubscribe or modify your subscription options:
> >> >>https://mailman.videolan.org/listinfo/vlc-devel
> >> >
> >> >--
> >> >Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez
> >excuser
> >> >ma brièveté.
> >>
> >> --
> >> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez
> >excuser ma brièveté.
> >
> >> _______________________________________________
> >> vlc-devel mailing list
> >> To unsubscribe or modify your subscription options:
> >> https://mailman.videolan.org/listinfo/vlc-devel
> >_______________________________________________
> >vlc-devel mailing list
> >To unsubscribe or modify your subscription options:
> >https://mailman.videolan.org/listinfo/vlc-devel
>
> --
> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.

> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list