Преглед изворни кода

fix bug with big 24 bit PNG decoding (2048x2048)

Nicolas Cannasse пре 12 година
родитељ
комит
109db5476c
1 измењених фајлова са 4 додато и 0 уклоњено
  1. 4 0
      genswf.ml

+ 4 - 0
genswf.ml

@@ -822,6 +822,10 @@ let build_swf9 com file swc =
 								let h = Png.header png in
 								let h = Png.header png in
 								(match h.Png.png_color with
 								(match h.Png.png_color with
 								| Png.ClTrueColor (Png.TBits8,Png.NoAlpha) ->
 								| Png.ClTrueColor (Png.TBits8,Png.NoAlpha) ->
+									if h.Png.png_width * h.Png.png_height * 4 > Sys.max_string_length then begin
+										com.warning "Flash will loose some color information for this file, add alpha channel to preserve it" p;
+										raise Exit;
+									end;
 									let data = Extc.unzip (Png.data png) in
 									let data = Extc.unzip (Png.data png) in
 									let raw_data = Png.filter png data in
 									let raw_data = Png.filter png data in
 									let cmp_data = Extc.zip raw_data in
 									let cmp_data = Extc.zip raw_data in