[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-inetutils] inetutils-1.6 rshd error.
From: |
Alfred M. Szmidt |
Subject: |
Re: [bug-inetutils] inetutils-1.6 rshd error. |
Date: |
Wed, 13 May 2009 02:18:31 -0400 |
the error i got is i can not connect to inetd server.
on the client side: rsh report can't establish connection
on the server side, syslog print : daemon.err inetd[869]: /etc/inetd.conf:3:
Out of memory.
this message is found in inetd/inetd.c line 1236.
i write a little prog:
-------------------------------------
#include <stdio.h>
void getit(int *argc)
{
*argc=0x1234;
}
main()
{
size_t argc=0;
printf("%d\n",sizeof(argc));
getit(&argc);
printf("0x%x\n",argc);
printf("0x%lx\n",argc);
}
--------------------------------------
on x86_64, gcc version 4.1.2, result is:
8
0x1234
0x1234
but on mips64,cross compiler gcc version 4.1.2, result is:
8
0x0
0x123400000000
i think it is because of mips is big-endian, x86 is little-endian.
I do not see how this is an endian issue, ARGC is handled on the
server side, and is not affected by the client in anyway (assuming
different endianess between the client and server). So all data is of
the same endianess.
Not that I see anything wrong with using int over size_t, or vice
versa... But I think the problem is deeper than this.