From d79580a027736ae86529a1fec12b5e7ec3c7495b Mon Sep 17 00:00:00 2001 From: swittk Date: Sat, 15 Aug 2020 13:41:29 +0700 Subject: [PATCH] Update RNSVGRenderable.m Fixed memory leak when calling CGPathCreateCopyByTransformingPath (it's never released) --- ios/RNSVGRenderable.m | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ios/RNSVGRenderable.m b/ios/RNSVGRenderable.m index 5fddadda0..327f1052c 100644 --- a/ios/RNSVGRenderable.m +++ b/ios/RNSVGRenderable.m @@ -370,9 +370,11 @@ - (void)renderLayerTo:(CGContextRef)context rect:(CGRect)rect self.ctm = svgToClientTransform; self.clientRect = clientRect; self.screenCTM = current; - + if (_vectorEffect == kRNSVGVectorEffectNonScalingStroke) { - path = CGPathCreateCopyByTransformingPath(path, &svgToClientTransform); + //Path was reassigned to new, copied object; need to call release somewhere + //but this function has multiple return points so I pick CFAutoRelease. + path = CFAutoRelease(CGPathCreateCopyByTransformingPath(path, &svgToClientTransform)); CGContextConcatCTM(context, CGAffineTransformInvert(svgToClientTransform)); }