Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Oct 2012 21:56:08 GMT
From:      Brooks Davis <brooks@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 219090 for review
Message-ID:  <201210252156.q9PLu8DG055848@skunkworks.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@219090?ac=10

Change 219090 by brooks@brooks_zenith on 2012/10/25 21:55:24

	Fix pngsb build in the ctsrd tree.

Affected files ...

.. //depot/projects/ctsrd/beribsd/src/ctsrd/pngsb/Makefile#2 edit
.. //depot/projects/ctsrd/beribsd/src/ctsrd/pngsb/pngsb.c#2 edit

Differences ...

==== //depot/projects/ctsrd/beribsd/src/ctsrd/pngsb/Makefile#2 (text+ko) ====

@@ -1,13 +1,11 @@
-CC=clang
-
 PROG=	pngsb
 
 MAN=
 
 WARNS=	6
 
-CFLAGS+=	-I/usr/local/include
+CFLAGS+=	-I${.CURDIR}/../../ctsrd-lib/libvuln_png/
 LDFLAGS+=	-L/usr/local/lib
-LDADD+=		-lpthread -lpng -lz
+LDADD+=		-lpthread -lvuln_png -lz -lm
 
 .include <bsd.prog.mk>

==== //depot/projects/ctsrd/beribsd/src/ctsrd/pngsb/pngsb.c#2 (text+ko) ====

@@ -120,7 +120,9 @@
 	 * Reject the image if the parser finds a different size than
 	 * our manual parsing did.
 	 */
+#if 0
 	png_set_user_limits(png_ptr, width, height);
+#endif
 
 	png_set_read_fn(png_ptr, pds, read_png_from_fd);
 
@@ -141,10 +143,11 @@
 	png_set_gray_to_rgb(png_ptr);
 	pds->ps->passes_remaining = png_set_interlace_handling(png_ptr);
 
-	if ((rows = malloc(height*png_sizeof(png_bytep))) == NULL)
+	if ((rows = malloc(height*sizeof(png_bytep))) == NULL)
 		png_error(png_ptr, "failed to malloc row array");
 	for (r = 0; r < height; r++)
-		rows[r] = (png_bytep)(pds->ps->buffer + (width * r));
+		rows[r] = __DEVOLATILE(png_bytep,
+		     pds->ps->buffer + (width * r));
 
 	png_read_rows(png_ptr, rows, NULL, height);
 
@@ -213,7 +216,7 @@
 
 	if ((pds = malloc(sizeof(struct pthr_decode_state))) == NULL) {
 		close(pfd);
-		free((void*)ps->buffer);
+		free(__DEVOLATILE(void*, ps->buffer));
 		free(ps);
 		return (NULL);
 	}
@@ -222,7 +225,7 @@
 
 	if ((pdp = malloc(sizeof(struct pthr_decode_private))) == NULL) {
 		close(pfd);
-		free((void*)ps->buffer);
+		free(__DEVOLATILE(void*, ps->buffer));
 		free(ps);
 		free(pds);
 	}
@@ -230,7 +233,7 @@
 	
 	if (pthread_create(&(pdp->pthr), NULL, pthr_decode_png, pds) != 0) {
 		close(pfd);
-		free((void*)ps->buffer);
+		free(__DEVOLATILE(void*, ps->buffer));
 		free(ps);
 		free(pds);
 		free(pdp);
@@ -260,7 +263,7 @@
 
 	if (ps->private != NULL)
 		png_read_finish(ps);
-	free((void*)ps->buffer);
+	free(__DEVOLATILE(void*, ps->buffer));
 	free(ps);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201210252156.q9PLu8DG055848>