File tree Expand file tree Collapse file tree 3 files changed +9
-7
lines changed
Expand file tree Collapse file tree 3 files changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -4,3 +4,4 @@ Cargo.lock
44.DS_Store
55/image.png
66/.vscode
7+ /.idea
Original file line number Diff line number Diff line change @@ -192,7 +192,10 @@ impl Mask {
192192 let output_buffer_size = reader
193193 . output_buffer_size ( )
194194 . ok_or ( png:: DecodingError :: LimitsExceeded ) ?;
195- let mut img_data = vec ! [ 0 ; output_buffer_size] ;
195+ let mut img_data = Vec :: new ( ) ;
196+ img_data
197+ . try_reserve_exact ( output_buffer_size)
198+ . map_err ( |_| make_custom_png_error ( "failed to reserve output buffer" ) ) ?;
196199 let info = reader. next_frame ( & mut img_data) ?;
197200
198201 if info. bit_depth != png:: BitDepth :: Eight {
Original file line number Diff line number Diff line change @@ -44,13 +44,11 @@ impl Pixmap {
4444 let size = IntSize :: from_wh ( width, height) ?;
4545 let data_len = data_len_for_size ( size) ?;
4646
47- // We cannot check that allocation was successful yet.
48- // We have to wait for https://github.com/rust-lang/rust/issues/48043
47+ let mut data = Vec :: new ( ) ;
48+ data. try_reserve_exact ( data_len) . ok ( ) ?;
49+ data. resize ( data_len, 0 ) ;
4950
50- Some ( Pixmap {
51- data : vec ! [ 0 ; data_len] ,
52- size,
53- } )
51+ Some ( Pixmap { data, size } )
5452 }
5553
5654 /// Creates a new pixmap by taking ownership over an image buffer
You can’t perform that action at this time.
0 commit comments