pajoye          Sat Jul  3 11:32:33 2004 EDT

  Added files:                 (Branch: PHP_4_3)
    /php-src/ext/gd/tests       bug28984.phpt 

  Modified files:              
    /php-src/ext/gd/libgd       gd.c 
  Log:
  - Fix #28984, using full transparent segfauls in imagefill
    (NB: imagefill is broken in HEAD, same code)
  - Add testcase
  
  
http://cvs.php.net/diff.php/php-src/ext/gd/libgd/gd.c?r1=1.24.2.32&r2=1.24.2.33&ty=u
Index: php-src/ext/gd/libgd/gd.c
diff -u php-src/ext/gd/libgd/gd.c:1.24.2.32 php-src/ext/gd/libgd/gd.c:1.24.2.33
--- php-src/ext/gd/libgd/gd.c:1.24.2.32 Mon May 24 16:03:08 2004
+++ php-src/ext/gd/libgd/gd.c   Sat Jul  3 11:32:33 2004
@@ -1879,13 +1879,18 @@
        int l, x1, x2, dy;
        int oc;   /* old pixel value */
        int wx2,wy2;
+       int alphablending_bak;
        /* stack of filled segments */
        /* struct seg stack[FILL_MAX],*sp = stack;; */
        struct seg *stack;
        struct seg *sp;
 
+       alphablending_bak = im->alphaBlendingFlag;      
+       im->alphaBlendingFlag = 0;
+
        if (nc==gdTiled){
                _gdImageFillTiled(im,x,y,nc);
+               im->alphaBlendingFlag = alphablending_bak;      
                return;
        }
 
@@ -1931,6 +1936,7 @@
                } while (x<=x2);
        }
        efree(stack);
+       im->alphaBlendingFlag = alphablending_bak;      
 }
 
 void _gdImageFillTiled(gdImagePtr im, int x, int y, int nc)

http://cvs.php.net/co.php/php-src/ext/gd/tests/bug28984.phpt?r=1.1&p=1
Index: php-src/ext/gd/tests/bug28984.phpt
+++ php-src/ext/gd/tests/bug28984.phpt

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to