Applied, thanks! Sergey Bugaev, le sam. 29 avril 2023 16:13:54 +0300, a ecrit: > We need to set file_name, not update retryname. This is what the other > branches do. > > Before this change, any attempt to access such a file would segfault due > to file_name being unset: > > $ settrans -ac /tmp/my-machtype /hurd/magic machtype > $ cat /tmp/my-machtype > Segmentation fault > > Checked on i686-gnu. > > Signed-off-by: Sergey Bugaev <buga...@gmail.com> > --- > hurd/lookup-retry.c | 11 ++++------- > 1 file changed, 4 insertions(+), 7 deletions(-) > > diff --git a/hurd/lookup-retry.c b/hurd/lookup-retry.c > index 99c98104..62f94bbc 100644 > --- a/hurd/lookup-retry.c > +++ b/hurd/lookup-retry.c > @@ -277,7 +277,6 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port) > error_t err; > struct host_basic_info hostinfo; > mach_msg_type_number_t hostinfocnt = HOST_BASIC_INFO_COUNT; > - char *p; > /* XXX want client's host */ > if (err = __host_info (__mach_host_self (), HOST_BASIC_INFO, > (integer_t *) &hostinfo, > @@ -288,13 +287,11 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port) > err = EGRATUITOUS; > goto out; > } > - p = _itoa (hostinfo.cpu_subtype, &retryname[8], 10, 0); > - *--p = '/'; > - p = _itoa (hostinfo.cpu_type, &retryname[8], 10, 0); > - if (p < retryname) > + file_name = _itoa (hostinfo.cpu_subtype, &retryname[8], 10, > 0); > + *--file_name = '/'; > + file_name = _itoa (hostinfo.cpu_type, file_name, 10, 0); > + if (file_name < retryname) > abort (); /* XXX write this right if this ever happens */ > - if (p > retryname) > - memmove (retryname, p, strlen(p) + 1); > startdir = *result; > } > else > -- > 2.40.1 >
-- Samuel --- Pour une évaluation indépendante, transparente et rigoureuse ! Je soutiens la Commission d'Évaluation de l'Inria.