1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-11-10 21:38:50 +01:00

gpgscm: Fix detection of unbalanced parenthesis.

* tests/gpgscm/main.c (load): Print error message.
* tests/gpgscm/scheme.c (opexe_0): Correctly report nesting level when
loading files.

Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
Justus Winter 2016-09-06 16:35:40 +02:00
parent 213b3cf465
commit f2249b7370
2 changed files with 9 additions and 0 deletions

View File

@ -32,6 +32,7 @@
#include "private.h" #include "private.h"
#include "scheme.h" #include "scheme.h"
#include "scheme-private.h"
#include "ffi.h" #include "ffi.h"
#include "i18n.h" #include "i18n.h"
#include "../../common/argparse.h" #include "../../common/argparse.h"
@ -176,6 +177,13 @@ load (scheme *sc, char *file_name,
scheme_load_named_file (sc, h, qualified_name); scheme_load_named_file (sc, h, qualified_name);
fclose (h); fclose (h);
if (sc->retcode)
{
if (sc->nesting)
fprintf (stderr, "%s: Unbalanced parenthesis\n", qualified_name);
return gpg_error (GPG_ERR_GENERAL);
}
if (file_name != qualified_name) if (file_name != qualified_name)
free (qualified_name); free (qualified_name);
return 0; return 0;

View File

@ -2592,6 +2592,7 @@ static pointer opexe_0(scheme *sc, enum scheme_opcodes op) {
if(sc->file_i == 0) if(sc->file_i == 0)
{ {
sc->args=sc->NIL; sc->args=sc->NIL;
sc->nesting = sc->nesting_stack[0];
s_goto(sc,OP_QUIT); s_goto(sc,OP_QUIT);
} }
else else