diff options
author | marcus <marcus@FreeBSD.org> | 2003-07-31 02:40:46 +0800 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2003-07-31 02:40:46 +0800 |
commit | 8542c436d655987058b34a61ed63922e4ffcdb38 (patch) | |
tree | 6887de66b00da81cc88ff07e94cc64e9206ea2b0 /graphics/librsvg2 | |
parent | 3576436ea2b93c455bb8f477325e93cf2a8945f9 (diff) | |
download | freebsd-ports-gnome-8542c436d655987058b34a61ed63922e4ffcdb38.tar.gz freebsd-ports-gnome-8542c436d655987058b34a61ed63922e4ffcdb38.tar.zst freebsd-ports-gnome-8542c436d655987058b34a61ed63922e4ffcdb38.zip |
Do not try and access memory after it's been free'd. This fixes a bus
error on -CURRENT with default malloc options.
PR: 55076
Submitted by: Alexander Nedotsukov <bland@mail.ru>
Diffstat (limited to 'graphics/librsvg2')
-rw-r--r-- | graphics/librsvg2/Makefile | 2 | ||||
-rw-r--r-- | graphics/librsvg2/files/patch-rsvg.c | 34 |
2 files changed, 35 insertions, 1 deletions
diff --git a/graphics/librsvg2/Makefile b/graphics/librsvg2/Makefile index 441acc4fced6..d3ba995acfbc 100644 --- a/graphics/librsvg2/Makefile +++ b/graphics/librsvg2/Makefile @@ -7,7 +7,7 @@ PORTNAME= librsvg2 PORTVERSION= 2.2.5 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= graphics gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/${PORTNAME:S/2$//}/2.2 diff --git a/graphics/librsvg2/files/patch-rsvg.c b/graphics/librsvg2/files/patch-rsvg.c new file mode 100644 index 000000000000..54b3861e208f --- /dev/null +++ b/graphics/librsvg2/files/patch-rsvg.c @@ -0,0 +1,34 @@ +--- rsvg.c.orig Thu Jul 31 02:03:34 2003 ++++ rsvg.c Thu Jul 31 02:26:35 2003 +@@ -332,13 +332,14 @@ + { + RsvgSaxHandlerGstops *z = (RsvgSaxHandlerGstops *)self; + RsvgHandle *ctx = z->ctx; ++ RsvgSaxHandler *prev = &z->parent->super; + + if (!strcmp((char *)name, z->parent_tag)) + { + if (ctx->handler != NULL) + { + ctx->handler->free (ctx->handler); +- ctx->handler = &z->parent->super; ++ ctx->handler = prev; + } + } + } +@@ -679,13 +680,14 @@ + { + RsvgSaxHandlerStyle *z = (RsvgSaxHandlerStyle *)self; + RsvgHandle *ctx = z->ctx; ++ RsvgSaxHandler *prev = &z->parent->super; + + if (!strcmp ((char *)name, "style")) + { + if (ctx->handler != NULL) + { + ctx->handler->free (ctx->handler); +- ctx->handler = &z->parent->super; ++ ctx->handler = prev; + } + } + } |