9ddcac
diff -urNp old/plug-ins/common/file-psp.c new/plug-ins/common/file-psp.c
9ddcac
--- old/plug-ins/common/file-psp.c	2018-01-04 12:04:14.636811394 +0100
9ddcac
+++ new/plug-ins/common/file-psp.c	2018-01-04 12:12:41.717877789 +0100
9ddcac
@@ -1777,6 +1777,15 @@ load_image (const gchar  *filename,
9ddcac
     {
9ddcac
       block_start = ftell (f);
9ddcac
 
9ddcac
+      if (block_start + block_total_len > st.st_size)
9ddcac
+        {
9ddcac
+          g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
9ddcac
+                       _("Could not open '%s' for reading: %s"),
9ddcac
+                       gimp_filename_to_utf8 (filename),
9ddcac
+                       _("invalid block size"));
9ddcac
+          goto error;
9ddcac
+        }
9ddcac
+
9ddcac
       if (id == PSP_IMAGE_BLOCK)
9ddcac
         {
9ddcac
           if (block_number != 0)