diff options
author | Tomas Farago <sensej007@email.cz> | 2021-11-10 10:51:12 +0100 |
---|---|---|
committer | Tomas Farago <sensej007@email.cz> | 2021-11-10 10:51:12 +0100 |
commit | b3dddf257c7d987b0f6834508a0e16240ad139dd (patch) | |
tree | d3301f1d0495f2ad0c59f6e108c42cd76b27ec0e /src/readers/ufo-tiff-reader.c | |
parent | 09edcabf491d5b44087f5f6add5c7109184a0216 (diff) | |
download | ufo-filters-b3dddf257c7d987b0f6834508a0e16240ad139dd.tar.gz ufo-filters-b3dddf257c7d987b0f6834508a0e16240ad139dd.tar.bz2 ufo-filters-b3dddf257c7d987b0f6834508a0e16240ad139dd.tar.xz ufo-filters-b3dddf257c7d987b0f6834508a0e16240ad139dd.zip |
reader: handle large y-step and small height
extreme cases like y-step=20 and height=1 resulted in a segfault.
Diffstat (limited to 'src/readers/ufo-tiff-reader.c')
-rw-r--r-- | src/readers/ufo-tiff-reader.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/readers/ufo-tiff-reader.c b/src/readers/ufo-tiff-reader.c index caad515..0bac745 100644 --- a/src/readers/ufo-tiff-reader.c +++ b/src/readers/ufo-tiff-reader.c @@ -117,7 +117,8 @@ read_data (UfoTiffReaderPrivate *priv, gchar *src; gsize plane_size; - plane_size = step * roi_height / roi_step; + /* Allow things like roi_height=1 and roi_step=20 */ + plane_size = step * ((roi_height - 1) / roi_step + 1); src = g_new0 (gchar, step * 3); for (guint i = roi_y; i < roi_y + roi_height; i += roi_step) { |