From: Øyvind Kolås Date: Fri, 10 Nov 2017 09:34:57 +0000 (+0100) Subject: extensions: protect gray unpremuls from gggl against division by 0.0 X-Git-Tag: archive/raspbian/1%0.1.106-3+rpi1^2~15^2~21^2~57 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=805c7d12ce5cad221551ae4a2801d6297263b5fe;p=babl.git extensions: protect gray unpremuls from gggl against division by 0.0 --- diff --git a/extensions/gggl-lies.c b/extensions/gggl-lies.c index b34f8ef..c08dccd 100644 --- a/extensions/gggl-lies.c +++ b/extensions/gggl-lies.c @@ -356,7 +356,10 @@ conv_gAF_gaF (const Babl *conversion,unsigned char *src, unsigned char *dst, lon { float alpha = (*(float *) (src + 4)); - *(float *) dst = ((*(float *) src) / alpha); + if (alpha == 0.0f) + *(float *) dst = 0.0f; + else + *(float *) dst = ((*(float *) src) / alpha); dst += 4; src += 4; *(float *) dst = alpha; diff --git a/extensions/gggl.c b/extensions/gggl.c index 83352d2..d101bef 100644 --- a/extensions/gggl.c +++ b/extensions/gggl.c @@ -373,7 +373,10 @@ conv_gAF_gaF (const Babl *conversion,unsigned char *src, unsigned char *dst, lon { float alpha = (*(float *) (src + 4)); - *(float *) dst = ((*(float *) src) / alpha); + if (alpha == 0.0f) + *(float *) dst = 0.0f; + else + *(float *) dst = ((*(float *) src) / alpha); dst += 4; src += 4; *(float *) dst = alpha;