Applied, thanks! Flavio Cruz, le dim. 09 févr. 2025 22:37:13 -0500, a ecrit: > --- > kern/ipc_mig.c | 25 +++++++++++++------------ > 1 file changed, 13 insertions(+), 12 deletions(-) > > diff --git a/kern/ipc_mig.c b/kern/ipc_mig.c > index 18ac88ef..b6543703 100644 > --- a/kern/ipc_mig.c > +++ b/kern/ipc_mig.c > @@ -273,10 +273,12 @@ mig_put_reply_port( > /* > * mig_strncpy.c - by Joshua Block > * > - * mig_strncpy -- Bounded string copy. Does what the library routine > + * mig_strncpy -- Bounded string copy. Does almost what the library routine > * strncpy does: Copies the (null terminated) string in src into dest, > - * a buffer of length len. Returns the length of the destination > - * string excluding the terminating null. > + * a buffer of length len, but ensures dest is null terminated. If len is > + * less than the length of the src string plus the null character, the > + * string is truncated. > + * Returns the length of the destination string excluding the terminating > null. > * > * Parameters: > * > @@ -289,20 +291,19 @@ mig_put_reply_port( > vm_size_t > mig_strncpy(char *dest, const char *src, vm_size_t len) > { > - char *dest_ = dest; > - int i; > + vm_size_t i; > > - if (len <= 0) > + if (len == 0) > return 0; > > - for (i = 0; i < len; i++) { > - if (! (*dest = *src)) > - break; > - dest++; > - src++; > + for (i = 0; i < len - 1; i++) { > + if (! (*dest++ = *src++)) > + return i; > } > > - return dest - dest_; > + /* Always null terminate the string. */ > + *dest = '\0'; > + return len - 1; > } > > /* Called by MiG to deallocate memory, which in this case happens > -- > 2.47.2 > >
-- Samuel <i> ben oui ce serait idiot, mais osb -+- m'en fous de faire un truc débile ! -+-