pier 01/07/18 21:23:07 Modified: webapp/lib pr_warp_packet.c Log: Fixed bug preventing to successfully load the last entry in a WARP packet. Revision Changes Path 1.3 +7 -4 jakarta-tomcat-connectors/webapp/lib/pr_warp_packet.c Index: pr_warp_packet.c =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/webapp/lib/pr_warp_packet.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- pr_warp_packet.c 2001/07/18 19:12:38 1.2 +++ pr_warp_packet.c 2001/07/19 04:23:07 1.3 @@ -54,7 +54,7 @@ * * * ========================================================================= */ -/* @version $Id: pr_warp_packet.c,v 1.2 2001/07/18 19:12:38 pier Exp $ */ +/* @version $Id: pr_warp_packet.c,v 1.3 2001/07/19 04:23:07 pier Exp $ */ #include "pr_warp.h" void p_reset(warp_packet *pack) { @@ -78,7 +78,7 @@ wa_boolean p_read_ushort(warp_packet *pack, int *x) { int k=0; - if ((pack->curr+2)>=pack->size) return(wa_false); + if ((pack->curr+2)>pack->size) return(wa_false); k=(pack->buff[pack->curr++]&0x0ff)<<8; k=k|(pack->buff[pack->curr++]&0x0ff); *x=k; @@ -88,7 +88,7 @@ wa_boolean p_read_int(warp_packet *pack, int *x) { int k=0; - if ((pack->curr+2)>=pack->size) return(wa_false); + if ((pack->curr+2)>pack->size) return(wa_false); k=(pack->buff[pack->curr++]&0x0ff)<<24; k=k|((pack->buff[pack->curr++]&0x0ff)<<16); k=k|((pack->buff[pack->curr++]&0x0ff)<<8); @@ -102,10 +102,13 @@ if (p_read_ushort(pack,&len)==wa_false) { *x=NULL; + wa_debug(WA_MARK,"Cannot read string length"); return(wa_false); } - if ((pack->curr+len)>=pack->size) { + if ((pack->curr+len)>pack->size) { *x=NULL; + wa_debug(WA_MARK,"String too long (len=%d curr=%d size=%d)", + len,pack->curr,pack->size); return(wa_false); }