[LTP] [PATCH] buffer overflow detected ***: dup201 terminated

frequent frequentemail@126.com
Wed Sep 11 05:38:31 CEST 2019


Thank you for the detailed instruction, this is the my first time to submit a patch. Not familiar with the format. And thanks again.
At 2019-09-10 19:57:44, "Cyril Hrubis" <chrubis@suse.cz> wrote:
>Hi!
>> Issues related to this mail: https://github.com/linux-test-project/ltp/issues/570
>
>You can just add "fixes: #570" instead somewhere in the patch text which
>will close the issue automatically if the patch is included in the
>repository.
>
>> According to the bactrace in the issue description, we could easily find out that the problem is due to the codes in dup201.c  line 80 and 142. 
>> As metan-cuw commented, the loop at line 142 is of no use and probablely is a leftover.  So we could safely remove these codes. 
>> 
>> This patch does :
>>         1).  remove the leftover, and of course, the issue 570 will be eventually go over.
>>         2).  removed unused global variables.
>> 
>> The patch goes as:
>  ^
>This is unnecessary.
>
>And you are missing the signed-off-by line here, see:
>
>https://www.kernel.org/doc/html/v4.17/process/submitting-patches.html#developer-s-certificate-of-origin-1-1
>
>> diff --git a/testcases/kernel/syscalls/dup2/dup201.c b/testcases/kernel/syscalls/dup2/dup201.c
>> index 4507ac1..762ad86 100644
>> --- a/testcases/kernel/syscalls/dup2/dup201.c
>> +++ b/testcases/kernel/syscalls/dup2/dup201.c
>> @@ -75,9 +75,6 @@ int maxfd;
>>  int goodfd = 5;
>>  int badfd = -1;
>>  int mystdout = 0;
>> -int fd, fd1;
>> -int mypid;
>> -char fname[20];
>> 
>> 
>>  struct test_case_t {
>>         int *ofd;
>> @@ -86,22 +83,19 @@ struct test_case_t {
>>         void (*setupfunc) ();
>>  } TC[] = {
>>         /* First fd argument is less than 0 - EBADF */
>> -       {
>> -       &badfd, &goodfd, EBADF, NULL},
>> -           /* First fd argument is getdtablesize() - EBADF */
>> -       {
>> -       &maxfd, &goodfd, EBADF, NULL},
>> -           /* Second fd argument is less than 0 - EBADF */
>> -       {
>> -       &mystdout, &badfd, EBADF, NULL},
>> -           /* Second fd argument is getdtablesize() - EBADF */
>> -       {
>> -&mystdout, &maxfd, EBADF, NULL},};
>> +       {&badfd, &goodfd, EBADF, NULL},
>> +       /* First fd argument is getdtablesize() - EBADF */
>> +       {&maxfd, &goodfd, EBADF, NULL},
>> +       /* Second fd argument is less than 0 - EBADF */
>> +       {&mystdout, &badfd, EBADF, NULL},
>> +       /* Second fd argument is getdtablesize() - EBADF */
>> +       {&mystdout, &maxfd, EBADF, NULL},
>> +};
>> 
>> 
>>  int main(int ac, char **av)
>>  {
>>         int lc;
>> -       int i, j;
>> +       int i;
>> 
>> 
>>         tst_parse_opts(ac, av, NULL, NULL);
>> 
>> 
>> @@ -137,12 +131,6 @@ int main(int ac, char **av)
>>                                          strerror(TC[i].error));
>>                         }
>>                 }
>> -               /* cleanup things in case we are looping */
>> -               for (j = fd1; j < maxfd; j++) {
>> -                       sprintf(fname, "dup201.%d.%d", j, mypid);
>> -                       (void)close(j);
>> -                       (void)unlink(fname);
>> -               }
>>         }
>>         cleanup();
>> 
>> 
>> @@ -163,7 +151,6 @@ void setup(void)
>> 
>> 
>>         /* get some test specific values */
>>         maxfd = getdtablesize();
>> -       mypid = getpid();
>>  }
>> 
>> 
>>  /*
>> @@ -172,6 +159,5 @@ void setup(void)
>>   */
>>  void cleanup(void)
>>  {
>> -
>>         tst_rmdir();
>>  }
>
>Otherwise the patch looks good.
>
>-- 
>Cyril Hrubis
>chrubis@suse.cz


More information about the ltp mailing list