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);
}