rev 390 - trunk

[email protected] Tue, 5 Apr 2005 16:39:54 -0700 (PDT)
Newsgroups gmane.comp.printing.ghostscript.jbig2dec.cvs
Message-ID <[email protected]>
Author: giles
Date: 2005-04-05 16:39:53 -0700 (Tue, 05 Apr 2005)
New Revision: 390

Modified:
   trunk/jbig2_segment.c
Log:
dd a missing break; in the segment release dispatch. Release of symbol
dictionary segments was falling through and causing a double free of
the result. Bug 688004.


Modified: trunk/jbig2_segment.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/jbig2_segment.c	2005-01-19 19:31:33 UTC (rev 389)
+++ trunk/jbig2_segment.c	2005-04-05 23:39:53 UTC (rev 390)
@@ -135,6 +135,7 @@
     switch (segment->flags & 63) {
 	case 0:  /* symbol dictionary */
 	  jbig2_sd_release(ctx, segment->result);
+	  break;
 	case 4:  /* intermediate text region */
 	case 40: /* intermediate refinement region */
 	  if (segment->result !=3D NULL)
@@ -144,7 +145,7 @@
 	  jbig2_metadata_free(ctx, segment->result);
 	  break;
 	default:
-	  /* anything is is probably an undefined pointer */
+	  /* anything else is probably an undefined pointer */
 	  break;
     }
   jbig2_free (ctx->allocator, segment);