PERFORCE change 219090 for review
Brooks Davis
brooks at FreeBSD.org
Thu Oct 25 21:56:09 UTC 2012
http://p4web.freebsd.org/@@219090?ac=10
Change 219090 by brooks at 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);
}
More information about the p4-projects
mailing list