diff options
author | Ondřej Surý <ondrej@sury.org> | 2013-04-08 12:53:52 +0200 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2013-04-08 12:53:52 +0200 |
commit | 15ea6bc5a109c5e1590af5c0425e248636dde259 (patch) | |
tree | 7ae275ed4725f4440e255bc292b75671f7b6983b /src/gd_rotate.c | |
parent | c2711be4c98222df1f9b03efcddc6d81ace09609 (diff) | |
download | libgd-15ea6bc5a109c5e1590af5c0425e248636dde259.tar.gz |
Fix several uninitialized variable reads, dereferences before NULL checks, resource leaks and some other minor errors
Diffstat (limited to 'src/gd_rotate.c')
-rw-r--r-- | src/gd_rotate.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/gd_rotate.c b/src/gd_rotate.c index f5debea..fbd234c 100644 --- a/src/gd_rotate.c +++ b/src/gd_rotate.c @@ -224,12 +224,12 @@ gdImagePtr gdImageRotate90 (gdImagePtr src, int ignoretransparent) f = gdImageGetPixel; } dst = gdImageCreateTrueColor(src->sy, src->sx); - dst->transparent = src->transparent; - if (dst != NULL) { int old_blendmode = dst->alphaBlendingFlag; dst->alphaBlendingFlag = 0; + dst->transparent = src->transparent; + gdImagePaletteCopy (dst, src); for (uY = 0; uY<src->sy; uY++) { @@ -269,12 +269,13 @@ gdImagePtr gdImageRotate180 (gdImagePtr src, int ignoretransparent) f = gdImageGetPixel; } dst = gdImageCreateTrueColor(src->sx, src->sy); - dst->transparent = src->transparent; if (dst != NULL) { int old_blendmode = dst->alphaBlendingFlag; dst->alphaBlendingFlag = 0; + dst->transparent = src->transparent; + gdImagePaletteCopy (dst, src); for (uY = 0; uY<src->sy; uY++) { @@ -315,12 +316,13 @@ gdImagePtr gdImageRotate270 (gdImagePtr src, int ignoretransparent) f = gdImageGetPixel; } dst = gdImageCreateTrueColor (src->sy, src->sx); - dst->transparent = src->transparent; if (dst != NULL) { int old_blendmode = dst->alphaBlendingFlag; dst->alphaBlendingFlag = 0; + dst->transparent = src->transparent; + gdImagePaletteCopy (dst, src); for (uY = 0; uY<src->sy; uY++) { |