From 12da87ba0c11a7b46d6cdc5716f0b30523898429 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sat, 17 Dec 2022 16:01:35 +0100 Subject: Adding length checks for in-memory image data (see #542) (#592) SVG is now decompressed in memory Bitmap invalid array length handling to return an error RGB Image data reader to return error if image data is too short FLUID: Add size argument to bitmap and JPEG data --- FL/Fl_Bitmap.H | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'FL/Fl_Bitmap.H') diff --git a/FL/Fl_Bitmap.H b/FL/Fl_Bitmap.H index 23fd79abd..308e09022 100644 --- a/FL/Fl_Bitmap.H +++ b/FL/Fl_Bitmap.H @@ -43,12 +43,16 @@ private: int cache_w_, cache_h_; // size of bitmap when cached public: - /** The constructors create a new bitmap from the specified bitmap data */ + /** The constructors create a new bitmap from the specified bitmap data. + \see Fl_Bitmap(const uchar *bits, int bits_length, int W, int H) */ Fl_Bitmap(const uchar *bits, int W, int H) : Fl_Image(W,H,0), array(bits), alloc_array(0), id_(0), cache_w_(0),cache_h_(0) {data((const char **)&array, 1);} - /** The constructors create a new bitmap from the specified bitmap data */ + /** The constructors create a new bitmap from the specified bitmap data. + \see Fl_Bitmap(const char *bits, int bits_length, int W, int H) */ Fl_Bitmap(const char *bits, int W, int H) : Fl_Image(W,H,0), array((const uchar *)bits), alloc_array(0), id_(0), cache_w_(0),cache_h_(0) {data((const char **)&array, 1);} + Fl_Bitmap(const uchar *bits, int bits_length, int W, int H); + Fl_Bitmap(const char *bits, int bits_length, int W, int H); virtual ~Fl_Bitmap(); virtual Fl_Image *copy(int W, int H) const; Fl_Image *copy() const { return Fl_Image::copy(); } -- cgit v1.2.3