[PATCH v2] pwdgrp.c: removed assert causing runtime issues

Ryan Long ryan.long at oarcorp.com
Thu Mar 18 19:16:34 UTC 2021


When Joel and I looked at it, this was the only assert that prevented it from running.

-----Original Message-----
From: Gedare Bloom <gedare at rtems.org> 
Sent: Thursday, March 18, 2021 2:14 PM
To: Ryan Long <ryan.long at oarcorp.com>
Cc: devel at rtems.org
Subject: Re: [PATCH v2] pwdgrp.c: removed assert causing runtime issues

On Thu, Mar 18, 2021 at 11:40 AM Ryan Long <ryan.long at oarcorp.com> wrote:
>
> Changed the _Assert_unused_variable_equals macro to just a (void) due 
> to /etc having already been created by the network stack 
> initialization or an initial filesystem image.
>
> Updates #4282
> ---
>  cpukit/libcsupport/src/pwdgrp.c | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/cpukit/libcsupport/src/pwdgrp.c 
> b/cpukit/libcsupport/src/pwdgrp.c index f4a10f7..edc8aff 100644
> --- a/cpukit/libcsupport/src/pwdgrp.c
> +++ b/cpukit/libcsupport/src/pwdgrp.c
> @@ -36,7 +36,6 @@
>  #include <stdint.h>
>
>  #include <rtems/seterr.h>
> -#include <rtems/score/assert.h>
>
>  #include "pwdgrp.h"
>
> @@ -63,13 +62,13 @@ static void init_file(const char *name, const char *content)
>   */
>  static void pwdgrp_init(void)
>  {
> -  int sc;
> -
>    /*
>     * Do the best to create this directory.
> +   *
> +   * /etc could be created by the network stack initialization or an initial
> +   * filesystem image. Deliberately ignore the return value.
>     */
> -  sc = mkdir("/etc", S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | 
> S_IXOTH);
> -  _Assert_Unused_variable_equals(sc, 0);
> +  (void) mkdir("/etc", S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | 
> + S_IXOTH);
>

So this seems fine, but it got me thinking, does this issue affect all the other mkdir-related patches recently done?

Probably, we should use
_Assert(sc == 0 || errno == EEXIST);
(void) sc;

>    /*
>     *  Initialize /etc/passwd
> --
> 1.8.3.1
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list