A problem of umoven and umovestr in util.c
Cai Fei
caifei at cn.fujitsu.com
Thu Aug 2 02:08:22 UTC 2007
Hi,
How about the following problem. Is it necessary to fix it?
Cai Fei wrote:
> Hi,
>
> I used strace to trace the following program test_accept.c:
> #include <sys/types.h>
> #include <sys/socket.h>
> int main(int argc, char *argv[])
> {
> accept(0, (struct sockaddr *)1, (socklen_t *)1);
> return 1;
> }
>
> $ strace ./test_accept
> ......
> accept(0, 0x1, ptrace: umoven: Input/output error
> 0x1) = -1 ENOTSOCK (Socket operation on non-socket)
> ......
>
> If the third param of accept() is invalid, the message "ptrace: umoven:
> Input/output error" will outputted. I think users will be confused to
> see the message. Users may be more confused even with -o option.
>
> $ strace -o log ./test_accept
> ptrace: umoven: Input/output error
>
> Also, the same problem exists in umovestr(). I found it with the following
> program test_access.c:
>
> #include <unistd.h>
> int main(int argc, char *argv[])
> {
> access((char *)1, R_OK);
> return 1;
> }
>
> $ strace ./test_access
> ......
> access(umovestr: Input/output error
> 0x1, R_OK) = -1 EFAULT (Bad address)
> ......
>
> I think it will be better if the error messages are not outputted.
> If it is right, here is the patch:
>
> Signed-off-by: "Cai Fei" <caifei at cn.fujitsu.com>
>
> --- util.c 2007-07-16 09:21:47.000000000 +0800
> +++ util.c.new 2007-07-16 09:23:08.000000000 +0800
> @@ -690,7 +690,6 @@ char *laddr;
> return 0;
> }
> /* But if not started, we had a bogus address. */
> - perror("ptrace: umoven");
> return -1;
> }
> started = 1;
> @@ -705,8 +704,6 @@ char *laddr;
> /* Ran into 'end of memory' - stupid "printpath" */
> return 0;
> }
> - if (addr != 0)
> - perror("ptrace: umoven");
> return -1;
> }
> started = 1;
> @@ -840,7 +837,6 @@ char *laddr;
> /* Ran into 'end of memory' - stupid "printpath" */
> return 0;
> }
> - perror("umovestr");
> return -1;
> }
> started = 1;
> @@ -858,7 +854,6 @@ char *laddr;
> /* Ran into 'end of memory' - stupid "printpath" */
> return 0;
> }
> - perror("umovestr");
> return -1;
> }
> started = 1;
>
>
> Regards
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
--
A new email address of FJWAN is launched from Apr.1 2007.
The updated address is: caifei at cn.fujitsu.com
--------------------------------------------------
Cai Fei
Development Dept.I
Nanjing Fujitsu Nanda Software Tech. Co., Ltd.(FNST)
caifei at cn.fujitsu.com (内7551-5875)
--------------------------------------------------
More information about the Strace-devel
mailing list