[PATCH] pwdgrp.c: Changed assert to void to fix runtime issues (CID #1399781)
ryan.long at oarcorp.com
Thu Mar 18 15:45:13 UTC 2021
I didn't make another ticket. I didn't know if I needed to since this was a fix for a previous commit that was merged. Should I?
Moving/removing the CID number is fine with me. Whatever y'all think is best. I think having something in the commit message to identify that it was a Coverity issue fix is helpful though.
From: Gedare Bloom <gedare at rtems.org>
Sent: Thursday, March 18, 2021 10:37 AM
To: Ryan Long <ryan.long at oarcorp.com>
Cc: devel at rtems.org
Subject: Re: [PATCH] pwdgrp.c: Changed assert to void to fix runtime issues (CID #1399781)
Ignoring the first line of commit issue...
On Thu, Mar 18, 2021 at 8:29 AM Ryan Long <ryan.long at oarcorp.com> wrote:
> Changed the _Assert_unused_value_equals macro to just a void due to
> /etc having already been created by the network stack initialization
> or an initial filesystem image.
Is there a related ticket?
IMO, the CID can be buried down here in the commit message somewhere.
Practically speaking, and I've said it before, the CIDs are a bit meaningless since they are outside our control and sit behind an authentication mechanism.
> 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 |
> - _Assert_Unused_variable_equals(sc, 0);
> + (void) mkdir("/etc", S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH |
> + S_IXOTH);
Is it better to ignore the return value, or should there be debug checking of errno values? I think the only valid return of -1 would be with errno==EEXIST.
> * Initialize /etc/passwd
> devel mailing list
> devel at rtems.org
More information about the devel