Update of /cvsroot/libexif/exif/exif
In directory usw-pr-cvs1:/tmp/cvs-serv21558/exif
Modified Files:
main.c
Log Message:
2002-08-30 Lutz Müller <lu...@us...>
* exif/main.c: Make sure people don't try too save too much EXIF data.
Index: main.c
===================================================================
RCS file: /cvsroot/libexif/exif/exif/main.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- main.c 6 Aug 2002 21:20:45 -0000 1.19
+++ main.c 30 Aug 2002 07:05:49 -0000 1.20
@@ -145,6 +145,8 @@
save_exif_data_to_file (ExifData *ed, const char *fname, const char *target)
{
JPEGData *jdata;
+ unsigned char *d = NULL;
+ unsigned int ds;
/* Parse the JPEG file */
jdata = jpeg_data_new_from_file (fname);
@@ -154,6 +156,18 @@
fprintf (stderr, "\n");
return (1);
}
+
+ /* Make sure the EXIF data is not too big. */
+ exif_data_save_data (ed, &d, &ds);
+ if (ds) {
+ if (ds > 0xffff) {
+ fprintf (stderr, _("Too much EXIF data (%i bytes). "
+ "Only %i bytes are allowed."), ds, 0xffff);
+ fprintf (stderr, "\n");
+ return (1);
+ }
+ free (d);
+ };
jpeg_data_set_exif_data (jdata, ed);
|