-const char deanimate_rcs[] = "$Id: deanimate.c,v 2.1 2002/08/26 11:06:27 sarantis Exp $";
+const char deanimate_rcs[] = "$Id: deanimate.c,v 1.12.2.1 2004/10/03 12:53:32 david__schmidt Exp $";
/*********************************************************************
*
- * File : $Source: /cvsroot/ijbswa/current/src/deanimate.c,v $
+ * File : $Source: /cvsroot/ijbswa/current/Attic/deanimate.c,v $
*
* Purpose : Declares functions to manipulate binary images on the
* fly. High-level functions include:
*
* Revisions :
* $Log: deanimate.c,v $
- * Revision 2.1 2002/08/26 11:06:27 sarantis
- * Fix typo failiure -> failure
- *
- * Revision 2.0 2002/06/04 14:34:21 jongfoster
- * Moving source files to src/
+ * Revision 1.12.2.1 2004/10/03 12:53:32 david__schmidt
+ * Add the ability to check jpeg images for invalid
+ * lengths of comment blocks. Defensive strategy
+ * against the exploit:
+ * Microsoft Security Bulletin MS04-028
+ * Buffer Overrun in JPEG Processing (GDI+) Could
+ * Allow Code Execution (833987)
+ * Enabled with +inspect-jpegs in actions files.
*
* Revision 1.12 2002/05/12 21:36:29 jongfoster
* Correcting function comments
* 2 : length = Desired minimum size
*
*
- * Returns : 0 on success, 1 on failure.
+ * Returns : 0 on success, 1 on failiure.
*
*********************************************************************/
int buf_extend(struct binbuffer *buf, size_t length)
* 2 : dst = Pointer to the destination binbuffer
* 3 : length = Number of bytes to be copied
*
- * Returns : 0 on success, 1 on failure.
+ * Returns : 0 on success, 1 on failiure.
*
*********************************************************************/
int buf_copy(struct binbuffer *src, struct binbuffer *dst, size_t length)
* 1 : src = Pointer to the source binbuffer
* 2 : offset = Offset to the desired byte
*
- * Returns : The byte on success, or 0 on failure
+ * Returns : The byte on success, or 0 on failiure
*
*********************************************************************/
unsigned char buf_getbyte(struct binbuffer *src, size_t offset)
* Parameters :
* 1 : buf = Pointer to the binbuffer
*
- * Returns : 0 on success, or 1 on failure
+ * Returns : 0 on success, or 1 on failiure
*
*********************************************************************/
int gif_skip_data_block(struct binbuffer *buf)
* 1 : src = Pointer to the source binbuffer
* 2 : dst = Pointer to the destination binbuffer
*
- * Returns : 0 on success, or 1 on failure
+ * Returns : 0 on success, or 1 on failiure
*
*********************************************************************/
int gif_extract_image(struct binbuffer *src, struct binbuffer *dst)
* 3 : get_first_image = Flag: If set, get the first image
* If unset (default), get the last
*
- * Returns : 0 on success, or 1 on failure
+ * Returns : 0 on success, or 1 on failiure
*
*********************************************************************/
int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_image)
* Parameters :
* 1 : src = Pointer to the image binbuffer
*
- * Returns : 0 on success, or 1 on failure
+ * Returns : 0 on success, or 1 on failiure
*
*********************************************************************/
int jpeg_inspect(struct binbuffer *src, struct binbuffer *dst)