Module Name:    src
Committed By:   agc
Date:           Thu May 28 01:52:43 UTC 2009

Modified Files:
        src/crypto/external/bsd/netpgp/dist: TODO
        src/crypto/external/bsd/netpgp/dist/src/lib: compress.c crypto.c
            keyring.c misc.c packet-parse.c packet-print.c reader.c signature.c
            validate.c version.h

Log Message:
CHANGES 1.99.6 -> 1.99.7

+ added to the regression tests
+ get rid of some magic constants, replace with more obvious names
+ zero out the memory used for a passphrase before freeing it in one place


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/crypto/external/bsd/netpgp/dist/TODO
cvs rdiff -u -r1.9 -r1.10 \
    src/crypto/external/bsd/netpgp/dist/src/lib/compress.c
cvs rdiff -u -r1.13 -r1.14 \
    src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c \
    src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c \
    src/crypto/external/bsd/netpgp/dist/src/lib/misc.c \
    src/crypto/external/bsd/netpgp/dist/src/lib/version.h
cvs rdiff -u -r1.16 -r1.17 \
    src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c \
    src/crypto/external/bsd/netpgp/dist/src/lib/signature.c
cvs rdiff -u -r1.14 -r1.15 \
    src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c
cvs rdiff -u -r1.15 -r1.16 \
    src/crypto/external/bsd/netpgp/dist/src/lib/reader.c \
    src/crypto/external/bsd/netpgp/dist/src/lib/validate.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/crypto/external/bsd/netpgp/dist/TODO
diff -u src/crypto/external/bsd/netpgp/dist/TODO:1.13 src/crypto/external/bsd/netpgp/dist/TODO:1.14
--- src/crypto/external/bsd/netpgp/dist/TODO:1.13	Wed May 27 00:38:26 2009
+++ src/crypto/external/bsd/netpgp/dist/TODO	Thu May 28 01:52:42 2009
@@ -1,6 +1,7 @@
 To Do
 =====
 separate verify program
+separate key management program
 separate from libcrypto?
 64-bit offsets
 default compression when signing?

Index: src/crypto/external/bsd/netpgp/dist/src/lib/compress.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.9 src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.10
--- src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.9	Sat May 16 06:30:38 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/compress.c	Thu May 28 01:52:43 2009
@@ -57,7 +57,7 @@
 
 #if defined(__NetBSD__)
 __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: compress.c,v 1.9 2009/05/16 06:30:38 agc Exp $");
+__RCSID("$NetBSD: compress.c,v 1.10 2009/05/28 01:52:43 agc Exp $");
 #endif
 
 #ifdef HAVE_ZLIB_H
@@ -300,6 +300,7 @@
 {
 	z_decompress_t z;
 	bz_decompress_t bz;
+	const int	printerrors = 1;
 	int             ret;
 
 	switch (type) {
@@ -394,7 +395,7 @@
 		return 0;
 	}
 
-	ret = __ops_parse(parse_info, 0);
+	ret = __ops_parse(parse_info, !printerrors);
 
 	__ops_reader_pop(parse_info);
 

Index: src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.13 src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.14
--- src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c:1.13	Mon May 25 06:43:32 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c	Thu May 28 01:52:43 2009
@@ -54,7 +54,7 @@
 
 #if defined(__NetBSD__)
 __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: crypto.c,v 1.13 2009/05/25 06:43:32 agc Exp $");
+__RCSID("$NetBSD: crypto.c,v 1.14 2009/05/28 01:52:43 agc Exp $");
 #endif
 
 #include <sys/types.h>
@@ -290,6 +290,7 @@
 			__ops_cbfunc_t *cb_get_passphrase)
 {
 	__ops_parseinfo_t	*parse = NULL;
+	const int		 printerrors = 1;
 	char			*filename = NULL;
 	int			 fd_in = 0;
 	int			 fd_out = 0;
@@ -353,7 +354,7 @@
 	}
 
 	/* Do it */
-	__ops_parse(parse, 1);
+	__ops_parse(parse, printerrors);
 
 	/* Unsetup */
 	if (use_armour) {
Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.13 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.14
--- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.13	Wed May 27 00:38:27 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c	Thu May 28 01:52:43 2009
@@ -57,7 +57,7 @@
 
 #if defined(__NetBSD__)
 __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: keyring.c,v 1.13 2009/05/27 00:38:27 agc Exp $");
+__RCSID("$NetBSD: keyring.c,v 1.14 2009/05/28 01:52:43 agc Exp $");
 #endif
 
 #ifdef HAVE_FCNTL_H
@@ -218,7 +218,7 @@
 
 typedef struct {
 	const __ops_keydata_t	*key;
-	char			*pphrase;
+	char			*passphrase;
 	__ops_seckey_t		*seckey;
 } decrypt_t;
 
@@ -229,7 +229,6 @@
 	decrypt_t		*decrypt;
 
 	decrypt = __ops_parse_cb_get_arg(cbinfo);
-
 	switch (pkt->tag) {
 	case OPS_PARSER_PTAG:
 	case OPS_PTAG_CT_USER_ID:
@@ -240,7 +239,7 @@
 		break;
 
 	case OPS_GET_PASSPHRASE:
-		*content->skey_passphrase.passphrase = decrypt->pphrase;
+		*content->skey_passphrase.passphrase = decrypt->passphrase;
 		return OPS_KEEP_MEMORY;
 
 	case OPS_PARSER_ERRCODE:
@@ -287,27 +286,26 @@
 \ingroup Core_Keys
 \brief Decrypts secret key from given keydata with given passphrase
 \param key Key from which to get secret key
-\param pphrase Passphrase to use to decrypt secret key
+\param passphrase Passphrase to use to decrypt secret key
 \return secret key
 */
 __ops_seckey_t *
-__ops_decrypt_seckey(const __ops_keydata_t *key, const char *pphrase)
+__ops_decrypt_seckey(const __ops_keydata_t *key, const char *passphrase)
 {
-	__ops_parseinfo_t *pinfo;
-	decrypt_t   decrypt;
+	__ops_parseinfo_t	*parse;
+	const int		 printerrors = 1;
+	decrypt_t		 decrypt;
 
 	(void) memset(&decrypt, 0x0, sizeof(decrypt));
 	decrypt.key = key;
-	decrypt.pphrase = strdup(pphrase);
-
-	pinfo = __ops_parseinfo_new();
-
-	__ops_keydata_reader_set(pinfo, key);
-	__ops_set_callback(pinfo, decrypt_cb, &decrypt);
-	pinfo->readinfo.accumulate = 1;
-
-	__ops_parse(pinfo, 0);
-
+	decrypt.passphrase = strdup(passphrase);
+	parse = __ops_parseinfo_new();
+	__ops_keydata_reader_set(parse, key);
+	__ops_set_callback(parse, decrypt_cb, &decrypt);
+	parse->readinfo.accumulate = 1;
+	__ops_parse(parse, !printerrors);
+	(void) memset(decrypt.passphrase, 0x0, strlen(decrypt.passphrase));
+	(void) free(decrypt.passphrase);
 	return decrypt.seckey;
 }
 
@@ -632,11 +630,11 @@
 			const unsigned armour,
 			const char *filename)
 {
-	__ops_parseinfo_t	*pinfo;
+	__ops_parseinfo_t	*parse;
 	unsigned		 res = 1;
 	int			 fd;
 
-	pinfo = __ops_parseinfo_new();
+	parse = __ops_parseinfo_new();
 
 	/* add this for the moment, */
 	/*
@@ -644,8 +642,8 @@
 	 * later
 	 */
 
-	/* __ops_parse_options(pinfo,OPS_PTAG_SS_ALL,OPS_PARSE_RAW); */
-	__ops_parse_options(pinfo, OPS_PTAG_SS_ALL, OPS_PARSE_PARSED);
+	/* __ops_parse_options(parse,OPS_PTAG_SS_ALL,OPS_PARSE_RAW); */
+	__ops_parse_options(parse, OPS_PTAG_SS_ALL, OPS_PARSE_PARSED);
 
 #ifdef O_BINARY
 	fd = open(filename, O_RDONLY | O_BINARY);
@@ -653,34 +651,34 @@
 	fd = open(filename, O_RDONLY);
 #endif
 	if (fd < 0) {
-		__ops_parseinfo_delete(pinfo);
+		__ops_parseinfo_delete(parse);
 		perror(filename);
 		return 0;
 	}
 #ifdef USE_MMAP_FOR_FILES
-	__ops_reader_set_mmap(pinfo, fd);
+	__ops_reader_set_mmap(parse, fd);
 #else
-	__ops_reader_set_fd(pinfo, fd);
+	__ops_reader_set_fd(parse, fd);
 #endif
 
-	__ops_set_callback(pinfo, cb_keyring_read, NULL);
+	__ops_set_callback(parse, cb_keyring_read, NULL);
 
 	if (armour) {
-		__ops_reader_push_dearmour(pinfo);
+		__ops_reader_push_dearmour(parse);
 	}
-	if (__ops_parse_and_accumulate(keyring, pinfo) == 0) {
+	if (__ops_parse_and_accumulate(keyring, parse) == 0) {
 		res = 0;
 	} else {
 		res = 1;
 	}
-	__ops_print_errors(__ops_parseinfo_get_errors(pinfo));
+	__ops_print_errors(__ops_parseinfo_get_errors(parse));
 
 	if (armour)
-		__ops_reader_pop_dearmour(pinfo);
+		__ops_reader_pop_dearmour(parse);
 
 	close(fd);
 
-	__ops_parseinfo_delete(pinfo);
+	__ops_parseinfo_delete(parse);
 
 	return res;
 }
@@ -713,27 +711,23 @@
 				const unsigned armour,
 				__ops_memory_t *mem)
 {
-	__ops_parseinfo_t	*pinfo = NULL;
+	__ops_parseinfo_t	*parse = NULL;
+	const unsigned		 noaccum = 0;
 	unsigned		 res = 1;
 
-	pinfo = __ops_parseinfo_new();
-	__ops_parse_options(pinfo, OPS_PTAG_SS_ALL, OPS_PARSE_PARSED);
-
-	__ops_setup_memory_read(&pinfo, mem, NULL, cb_keyring_read, 0);
-
+	parse = __ops_parseinfo_new();
+	__ops_parse_options(parse, OPS_PTAG_SS_ALL, OPS_PARSE_PARSED);
+	__ops_setup_memory_read(&parse, mem, NULL, cb_keyring_read, noaccum);
 	if (armour) {
-		__ops_reader_push_dearmour(pinfo);
+		__ops_reader_push_dearmour(parse);
 	}
-	res = __ops_parse_and_accumulate(keyring, pinfo);
-	__ops_print_errors(__ops_parseinfo_get_errors(pinfo));
-
+	res = __ops_parse_and_accumulate(keyring, parse);
+	__ops_print_errors(__ops_parseinfo_get_errors(parse));
 	if (armour) {
-		__ops_reader_pop_dearmour(pinfo);
+		__ops_reader_pop_dearmour(parse);
 	}
-
 	/* don't call teardown_memory_read because memory was passed in */
-	__ops_parseinfo_delete(pinfo);
-
+	__ops_parseinfo_delete(parse);
 	return res;
 }
 
@@ -749,7 +743,7 @@
 void 
 __ops_keyring_free(__ops_keyring_t *keyring)
 {
-	free(keyring->keys);
+	(void)free(keyring->keys);
 	keyring->keys = NULL;
 	keyring->nkeys = 0;
 	keyring->nkeys_allocated = 0;
Index: src/crypto/external/bsd/netpgp/dist/src/lib/misc.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/misc.c:1.13 src/crypto/external/bsd/netpgp/dist/src/lib/misc.c:1.14
--- src/crypto/external/bsd/netpgp/dist/src/lib/misc.c:1.13	Wed May 27 00:38:27 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/misc.c	Thu May 28 01:52:43 2009
@@ -57,7 +57,7 @@
 
 #if defined(__NetBSD__)
 __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: misc.c,v 1.13 2009/05/27 00:38:27 agc Exp $");
+__RCSID("$NetBSD: misc.c,v 1.14 2009/05/28 01:52:43 agc Exp $");
 #endif
 
 #include <sys/types.h>
@@ -194,6 +194,7 @@
 __ops_parse_and_accumulate(__ops_keyring_t *keyring, __ops_parseinfo_t *parse)
 {
 	accumulate_t	accumulate;
+	const int	printerrors = 1;
 	int             ret;
 
 	if (parse->readinfo.accumulate) {
@@ -210,7 +211,7 @@
 
 	__ops_parse_cb_push(parse, accumulate_cb, &accumulate);
 	parse->readinfo.accumulate = 1;
-	ret = __ops_parse(parse, 0);
+	ret = __ops_parse(parse, !printerrors);
 
 	keyring->nkeys += 1;
 
Index: src/crypto/external/bsd/netpgp/dist/src/lib/version.h
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/version.h:1.13 src/crypto/external/bsd/netpgp/dist/src/lib/version.h:1.14
--- src/crypto/external/bsd/netpgp/dist/src/lib/version.h:1.13	Wed May 27 05:42:25 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/version.h	Thu May 28 01:52:43 2009
@@ -58,7 +58,7 @@
 #endif
 
 /* development versions have .99 suffix */
-#define NETPGP_BASE_VERSION	"1.99.6"
+#define NETPGP_BASE_VERSION	"1.99.7"
 
 #define NETPGP_VERSION_CAT(a, b)	"NetPGP portable " a "/[" b "]"
 #define NETPGP_VERSION_STRING \

Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.16 src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.17
--- src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c:1.16	Wed May 27 00:38:27 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c	Thu May 28 01:52:43 2009
@@ -58,7 +58,7 @@
 
 #if defined(__NetBSD__)
 __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: packet-parse.c,v 1.16 2009/05/27 00:38:27 agc Exp $");
+__RCSID("$NetBSD: packet-parse.c,v 1.17 2009/05/28 01:52:43 agc Exp $");
 #endif
 
 #ifdef HAVE_OPENSSL_CAST_H
@@ -2930,6 +2930,7 @@
 		    __ops_parseinfo_t *pinfo)
 {
 	__ops_crypt_t	*decrypt = __ops_parse_get_decrypt(pinfo);
+	const int	 printerrors = 1;
 	int		 r = 1;
 
 	if (decrypt) {
@@ -2960,7 +2961,7 @@
 			decrypt->block_encrypt(decrypt, decrypt->civ,
 					decrypt->civ);
 		}
-		r = __ops_parse(pinfo, 0);
+		r = __ops_parse(pinfo, !printerrors);
 
 		__ops_reader_pop_decrypt(pinfo);
 	} else {
@@ -2990,13 +2991,14 @@
 		       __ops_parseinfo_t *pinfo)
 {
 	__ops_crypt_t	*decrypt = __ops_parse_get_decrypt(pinfo);
+	const int	 printerrors = 1;
 	int		 r = 1;
 
 	if (decrypt) {
 		__ops_reader_push_decrypt(pinfo, decrypt, region);
 		__ops_reader_push_se_ip_data(pinfo, decrypt, region);
 
-		r = __ops_parse(pinfo, 0);
+		r = __ops_parse(pinfo, !printerrors);
 
 		__ops_reader_pop_se_ip_data(pinfo);
 		__ops_reader_pop_decrypt(pinfo);
Index: src/crypto/external/bsd/netpgp/dist/src/lib/signature.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.16 src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.17
--- src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.16	Wed May 27 00:38:27 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c	Thu May 28 01:52:43 2009
@@ -57,7 +57,7 @@
 
 #if defined(__NetBSD__)
 __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: signature.c,v 1.16 2009/05/27 00:38:27 agc Exp $");
+__RCSID("$NetBSD: signature.c,v 1.17 2009/05/28 01:52:43 agc Exp $");
 #endif
 
 #include <sys/types.h>
@@ -363,9 +363,10 @@
 hash_add_key(__ops_hash_t *hash, const __ops_pubkey_t *key)
 {
 	__ops_memory_t	*mem = __ops_memory_new();
+	const unsigned 	 dontmakepacket = 0;
 	size_t		 len;
 
-	__ops_build_pubkey(mem, key, 0);
+	__ops_build_pubkey(mem, key, dontmakepacket);
 	len = __ops_mem_len(mem);
 	__ops_hash_add_int(hash, 0x99, 1);
 	__ops_hash_add_int(hash, len, 2);

Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.14 src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.15
--- src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.14	Wed May 27 00:38:27 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c	Thu May 28 01:52:43 2009
@@ -58,7 +58,7 @@
 
 #if defined(__NetBSD__)
 __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: packet-print.c,v 1.14 2009/05/27 00:38:27 agc Exp $");
+__RCSID("$NetBSD: packet-print.c,v 1.15 2009/05/28 01:52:43 agc Exp $");
 #endif
 
 #include <string.h>
@@ -1191,6 +1191,7 @@
 {
 	__ops_parseinfo_t	*pinfo = NULL;
 	const unsigned		 accumulate = 1;
+	const int		 printerrors = 1;
 	int			 fd = 0;
 
 	fd = __ops_setup_file_read(&pinfo, filename, NULL, cb_list_packets,
@@ -1201,7 +1202,7 @@
 	if (armour) {
 		__ops_reader_push_dearmour(pinfo);
 	}
-	__ops_parse(pinfo, 1);
+	__ops_parse(pinfo, printerrors);
 	__ops_teardown_file_read(pinfo, fd);
 	return 1;
 }

Index: src/crypto/external/bsd/netpgp/dist/src/lib/reader.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.15 src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.16
--- src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.15	Wed May 27 00:38:27 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c	Thu May 28 01:52:43 2009
@@ -54,7 +54,7 @@
 
 #if defined(__NetBSD__)
 __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: reader.c,v 1.15 2009/05/27 00:38:27 agc Exp $");
+__RCSID("$NetBSD: reader.c,v 1.16 2009/05/28 01:52:43 agc Exp $");
 #endif
 
 #include <sys/types.h>
@@ -1607,9 +1607,9 @@
 			fprintf(stderr, "\n");
 		}
 		__ops_calc_mdc_hash(preamble, sz_preamble, plaintext,
-				sz_plaintext, &hashed[0]);
+				sz_plaintext, hashed);
 
-		if (memcmp(mdc_hash, hashed, OPS_SHA1_HASH_SIZE)) {
+		if (memcmp(mdc_hash, hashed, OPS_SHA1_HASH_SIZE) != 0) {
 			OPS_ERROR(errors, OPS_E_V_BAD_HASH,
 					"Bad hash in MDC packet");
 			(void) free(buf);
Index: src/crypto/external/bsd/netpgp/dist/src/lib/validate.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/validate.c:1.15 src/crypto/external/bsd/netpgp/dist/src/lib/validate.c:1.16
--- src/crypto/external/bsd/netpgp/dist/src/lib/validate.c:1.15	Wed May 27 00:38:27 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/validate.c	Thu May 28 01:52:43 2009
@@ -54,7 +54,7 @@
 
 #if defined(__NetBSD__)
 __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: validate.c,v 1.15 2009/05/27 00:38:27 agc Exp $");
+__RCSID("$NetBSD: validate.c,v 1.16 2009/05/28 01:52:43 agc Exp $");
 #endif
 
 #include <sys/types.h>
@@ -542,6 +542,7 @@
 {
 	__ops_parseinfo_t	*pinfo;
 	validate_key_cb_t	 keysigs;
+	const int		 printerrors = 1;
 
 	(void) memset(&keysigs, 0x0, sizeof(keysigs));
 	keysigs.result = result;
@@ -560,7 +561,7 @@
 	/* is never used. */
 	keysigs.reader = pinfo->readinfo.arg;
 
-	__ops_parse(pinfo, 0);
+	__ops_parse(pinfo, !printerrors);
 
 	__ops_pubkey_free(&keysigs.pubkey);
 	if (keysigs.subkey.version) {
@@ -646,6 +647,7 @@
 	validate_data_cb_t	 validation;
 	__ops_parseinfo_t	*parse = NULL;
 	struct stat		 st;
+	const int		 printerrors = 1;
 	unsigned		 ret;
 	int64_t		 	 sigsize;
 	char			 origfile[MAXPATHLEN];
@@ -695,7 +697,7 @@
 	}
 
 	/* Do the verification */
-	__ops_parse(parse, 0);
+	__ops_parse(parse, !printerrors);
 
 	/* Tidy up */
 	if (armoured) {
@@ -765,6 +767,7 @@
 {
 	validate_data_cb_t	 validation;
 	__ops_parseinfo_t	*pinfo = NULL;
+	const int		 printerrors = 1;
 
 	__ops_setup_memory_read(&pinfo, mem, &validation, validate_data_cb, 1);
 
@@ -783,7 +786,7 @@
 	}
 
 	/* Do the verification */
-	__ops_parse(pinfo, 0);
+	__ops_parse(pinfo, !printerrors);
 
 	/* Tidy up */
 	if (armoured) {

Reply via email to