chiark / gitweb /
gpgscm: Guard use of union member.
authorJustus Winter <justus@g10code.com>
Wed, 21 Dec 2016 15:14:45 +0000 (16:14 +0100)
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Tue, 3 Jan 2017 20:39:52 +0000 (20:39 +0000)
* tests/gpgscm/scheme.c (opexe_5): Check that we have a file port
before accessing filename.  Fixes a crash on 32-bit architectures.

Fixes-commit: e7429b1ced0c69fa7901f888f8dc25f00fc346a4
Signed-off-by: Justus Winter <justus@g10code.com>
(cherry picked from commit 6e96cdd41a0e55b672309431062f37c4a4a9f485)

Gbp-Pq: Name 0012-gpgscm-Guard-use-of-union-member.patch

tests/gpgscm/scheme.c

index a5b7691fb28c224c351df2c77757fe1492607fc0..2844545573100569faf761ea901d20814054174d 100644 (file)
@@ -4838,7 +4838,7 @@ static pointer opexe_5(scheme *sc, enum scheme_opcodes op) {
                } else {
                     sc->nesting_stack[sc->file_i]++;
 #if USE_TAGS && SHOW_ERROR_LINE
                } else {
                     sc->nesting_stack[sc->file_i]++;
 #if USE_TAGS && SHOW_ERROR_LINE
-                   {
+                   if (sc->load_stack[sc->file_i].kind & port_file) {
                      const char *filename =
                        sc->load_stack[sc->file_i].rep.stdio.filename;
                      int lineno =
                      const char *filename =
                        sc->load_stack[sc->file_i].rep.stdio.filename;
                      int lineno =