Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_ipc Modified Files: Tag: SPLIT ecore_ipc.c Log Message: oops =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_ipc/Attic/ecore_ipc.c,v retrieving revision 1.1.2.7 retrieving revision 1.1.2.8 diff -u -3 -r1.1.2.7 -r1.1.2.8 --- ecore_ipc.c 8 Aug 2003 04:56:44 -0000 1.1.2.7 +++ ecore_ipc.c 8 Aug 2003 06:07:42 -0000 1.1.2.8 @@ -248,6 +248,7 @@ "ecore_ipc_server_send"); return 0; } + if (size < 0) size = 0; msg.major = htonl(major); msg.minor = htonl(minor); msg.ref = htonl(ref); @@ -277,6 +278,7 @@ "ecore_ipc_client_send"); return 0; } + if (size < 0) size = 0; msg.major = htonl(major); msg.minor = htonl(minor); msg.ref = htonl(ref); @@ -529,13 +531,14 @@ int major, minor, ref, ref_to, response, size; int offset = 0; - msg = (Ecore_Ipc_Msg_Head *)cl->buf; + msg = (Ecore_Ipc_Msg_Head *)(cl->buf + offset); major = ntohl(msg->major); minor = ntohl(msg->minor); ref = ntohl(msg->ref); ref_to = ntohl(msg->ref_to); response = ntohl(msg->response); size = ntohl(msg->size); + if (size < 0) size = 0; /* there is enough data in the buffer for a full message */ if (cl->buf_size >= (sizeof(Ecore_Ipc_Msg_Head) + size)) { @@ -567,13 +570,14 @@ offset += (sizeof(Ecore_Ipc_Msg_Head) + size); if (cl->buf_size - offset >= sizeof(Ecore_Ipc_Msg_Head)) { - msg = (Ecore_Ipc_Msg_Head *)cl->buf; + msg = (Ecore_Ipc_Msg_Head *)(cl->buf + offset); major = ntohl(msg->major); minor = ntohl(msg->minor); ref = ntohl(msg->ref); ref_to = ntohl(msg->ref_to); response = ntohl(msg->response); size = ntohl(msg->size); + if (size < 0) size = 0; if (cl->buf_size - offset >= (sizeof(Ecore_Ipc_Msg_Head) + size)) goto redo; } @@ -649,13 +653,14 @@ int major, minor, ref, ref_to, response, size; int offset = 0; - msg = (Ecore_Ipc_Msg_Head *)svr->buf; + msg = (Ecore_Ipc_Msg_Head *)(svr->buf + offset); major = ntohl(msg->major); minor = ntohl(msg->minor); ref = ntohl(msg->ref); ref_to = ntohl(msg->ref_to); response = ntohl(msg->response); size = ntohl(msg->size); + if (size < 0) size = 0; /* there is enough data in the buffer for a full message */ if (svr->buf_size >= (sizeof(Ecore_Ipc_Msg_Head) + size)) { @@ -687,13 +692,14 @@ offset += (sizeof(Ecore_Ipc_Msg_Head) + size); if (svr->buf_size - offset >= sizeof(Ecore_Ipc_Msg_Head)) { - msg = (Ecore_Ipc_Msg_Head *)svr->buf; + msg = (Ecore_Ipc_Msg_Head *)(svr->buf + offset); major = ntohl(msg->major); minor = ntohl(msg->minor); ref = ntohl(msg->ref); ref_to = ntohl(msg->ref_to); response = ntohl(msg->response); size = ntohl(msg->size); + if (size < 0) size = 0; if (svr->buf_size - offset >= (sizeof(Ecore_Ipc_Msg_Head) + size)) goto redo; } ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs