[RTEMS Project] #4751: chmod problem in shell of RTEMS 6

RTEMS trac trac at rtems.org
Thu Nov 10 00:49:30 UTC 2022


#4751: chmod problem in shell of RTEMS 6
----------------------------+--------------------
  Reporter:  chenjin_zhong  |      Owner:  (none)
      Type:  defect         |     Status:  new
  Priority:  normal         |  Milestone:  6.1
 Component:  shell          |    Version:  6
  Severity:  normal         |   Keywords:
Blocked By:                 |   Blocking:
----------------------------+--------------------
 Cloned from #4558:
 ----
 Hi, I find one problem in rtems_shell_main_chmod function. the usage of
 this instruction is descripted as  "chmod 0777 n1 n2... #change filemode",
 .the src code is listed as follows. the bold part should be replaced with
 **chmod(argv[n], mode)**?

 {{{
 static int rtems_shell_main_chmod(
   int argc,
   char *argv[]
 )
 {
   int           n;
   mode_t        mode;
   unsigned long tmp;

   if (argc < 2) {
     fprintf(stderr,"%s: too few arguments\n", argv[0]);
     return -1;
   }

   /*
    *  Convert arguments into numbers
    */
   if ( rtems_string_to_unsigned_long(argv[1], &tmp, NULL, 0) ) {
     printf( "Mode argument (%s) is not a number\n", argv[1] );
     return -1;
   }
   mode = (mode_t) (tmp & 0777);

   /*
    *  Now change the files modes
    */
   for (n=2 ; n < argc ; n++)
     chmod(argv[n++], mode); /* <<<< here */

   return 0;
 }
 }}}

--
Ticket URL: <http://devel.rtems.org/ticket/4751>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list