bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 3/5] hurd: Fix calling vm_deallocate (NULL)


From: Samuel Thibault
Subject: Re: [PATCH 3/5] hurd: Fix calling vm_deallocate (NULL)
Date: Mon, 3 Jul 2023 01:28:34 +0200
User-agent: NeoMutt/20170609 (1.8.3)

Applied, thanks!

Sergey Bugaev, le lun. 26 juin 2023 02:17:49 +0300, a ecrit:
> Only call vm_deallocate when we do have the old buffer, and check for
> unexpected errors.
> 
> Spotted while debugging a msgids/readdir issue on x86_64-gnu.
> 
> Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
> ---
>  sysdeps/mach/hurd/readdir64.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/sysdeps/mach/hurd/readdir64.c b/sysdeps/mach/hurd/readdir64.c
> index 2c01ca22..2d946793 100644
> --- a/sysdeps/mach/hurd/readdir64.c
> +++ b/sysdeps/mach/hurd/readdir64.c
> @@ -64,9 +64,13 @@ __readdir64 (DIR *dirp)
>             /* The data was passed out of line, so our old buffer is no
>                longer useful.  Deallocate the old buffer and reset our
>                information for the new buffer.  */
> -           __vm_deallocate (__mach_task_self (),
> -                            (vm_address_t) dirp->__data,
> -                            dirp->__allocation);
> +           if (dirp->__data != NULL)
> +             {
> +               err = __vm_deallocate (__mach_task_self (),
> +                                      (vm_address_t) dirp->__data,
> +                                      dirp->__allocation);
> +               assert_perror (err);
> +             }
>             dirp->__data = data;
>             dirp->__allocation = round_page (dirp->__size);
>           }
> -- 
> 2.41.0
> 
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]