There's exactly one global variable in signify, but it could be local.
We do write to this variable, but not to move data between functions.


Index: zsig.c
===================================================================
RCS file: /cvs/src/usr.bin/signify/zsig.c,v
retrieving revision 1.15
diff -u -p -r1.15 zsig.c
--- zsig.c      11 Jul 2017 23:52:05 -0000      1.15
+++ zsig.c      23 Feb 2019 22:47:59 -0000
@@ -49,9 +49,6 @@ struct gzheader {
 #define GZHEADERLENGTH 10
 #define MYBUFSIZE 65536LU
 
-
-static uint8_t fake[10] = { 0x1f, 0x8b, 8, FCOMMENT_FLAG, 0, 0, 0, 0, 0, 3 };
-
 static uint8_t *
 readgz_header(struct gzheader *h, int fd)
 {
@@ -184,6 +181,7 @@ zverify(const char *pubkeyfile, const ch
        char *p, *meta;
        uint8_t *bufend;
        int fdin, fdout;
+       uint8_t fake[10] = { 0x1f, 0x8b, 8, FCOMMENT_FLAG, 0, 0, 0, 0, 0, 3 };
 
        /* by default, verification will love pipes */
        if (!sigfile)
@@ -244,6 +242,7 @@ zsign(const char *seckeyfile, const char
        uint8_t *sighdr;
        char date[80];
        time_t clock;
+       uint8_t fake[10] = { 0x1f, 0x8b, 8, FCOMMENT_FLAG, 0, 0, 0, 0, 0, 3 };
 
        fdin = xopen(msgfile, O_RDONLY, 0);
        if (fstat(fdin, &sb) == -1 || !S_ISREG(sb.st_mode))

Reply via email to