[PATCH v4] pwdgrp.c: Remove _Assert. /etc may already exist

Ryan Long ryan.long at oarcorp.com
Tue Mar 23 16:25:15 UTC 2021


Removed the _Assert_unused_variable_equals macro due to /etc
having already been created by the network stack initialization
or an initial filesystem image.

Closes #4282
---
 cpukit/libcsupport/src/pwdgrp.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/cpukit/libcsupport/src/pwdgrp.c b/cpukit/libcsupport/src/pwdgrp.c
index f4a10f7..154a92a 100644
--- a/cpukit/libcsupport/src/pwdgrp.c
+++ b/cpukit/libcsupport/src/pwdgrp.c
@@ -67,9 +67,13 @@ static void pwdgrp_init(void)
 
   /*
    * 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);
+  _Assert((sc == 0) || (sc == -1 && errno == EEXIST));
+  (void) sc;
 
   /*
    *  Initialize /etc/passwd
-- 
1.8.3.1



More information about the devel mailing list