Possible small bug in ov3.c

Christophe Wolfhugel wolf at oleane.net
Sat Jul 8 08:25:16 UTC 2000


I believe that the offset test which has been added a few
versions ago has been misplaced (ie->offset and ie->length
always were equal to 0).

Following patch seems to restore the correct behavior.

Index: ov3.c
===================================================================
RCS file: /local/packages/inn-cvs/src/inn/storage/ov3/ov3.c,v
retrieving revision 1.24
diff -c -r1.24 ov3.c
*** ov3.c	2000/07/04 15:11:19	1.24
--- ov3.c	2000/07/08 08:23:01
***************
*** 848,858 ****
  	   no index room for it */
  	return FALSE;
      }
      if (ie->offset > search->gh->datalen || ie->offset + ie->length > search->gh->datalen)
  	/* index may be corrupted, do not go further */
  	return FALSE;
  
-     ie = &ie[search->cur];
      if (artnum)
  	*artnum = search->base + search->cur;
      if (len)
--- 848,859 ----
  	   no index room for it */
  	return FALSE;
      }
+ 
+     ie = &ie[search->cur];
      if (ie->offset > search->gh->datalen || ie->offset + ie->length > search->gh->datalen)
  	/* index may be corrupted, do not go further */
  	return FALSE;
  
      if (artnum)
  	*artnum = search->base + search->cur;
      if (len)

----- End forwarded message -----

-- 
Christophe Wolfhugel  -+-  wolf at oleane.net  -+-  France Telecom Oleane



More information about the inn-workers mailing list