From 5e9907d68d8549787cff182f97e601b0764ecb9f Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Tue, 4 Aug 2009 18:39:31 -0400 Subject: [PATCH] Applied changes from CVS version 1.16 of official version of TinyScheme. file_push checks array bounds (patch from Ray Lehtiniemi) --- plug-ins/script-fu/tinyscheme/scheme.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plug-ins/script-fu/tinyscheme/scheme.c b/plug-ins/script-fu/tinyscheme/scheme.c index d6f823fc97..9b766275dc 100644 --- a/plug-ins/script-fu/tinyscheme/scheme.c +++ b/plug-ins/script-fu/tinyscheme/scheme.c @@ -1354,7 +1354,11 @@ static void finalize_cell(scheme *sc, pointer a) { /* ========== Routines for Reading ========== */ static int file_push(scheme *sc, const char *fname) { - FILE *fin=fopen(fname,"rb"); + FILE *fin = NULL; + if (sc->file_i == MAXFIL-1) + return 0; + + fin=fopen(fname,"rb"); if(fin!=0) { sc->file_i++; sc->load_stack[sc->file_i].kind=port_file|port_input;