vishalmishra434 / rpms / openssh

Forked from rpms/openssh a month ago
Clone
Dmitry Belyavskiy a2e7f7
diff -up openssh-8.5p1/auth-krb5.c.coverity openssh-8.5p1/auth-krb5.c
Dmitry Belyavskiy a2e7f7
--- openssh-8.5p1/auth-krb5.c.coverity	2021-03-24 12:03:33.724967756 +0100
Dmitry Belyavskiy a2e7f7
+++ openssh-8.5p1/auth-krb5.c	2021-03-24 12:03:33.782968159 +0100
Dmitry Belyavskiy a2e7f7
@@ -426,6 +426,7 @@ ssh_krb5_cc_new_unique(krb5_context ctx,
Dmitry Belyavskiy a2e7f7
 		umask(old_umask);
Dmitry Belyavskiy a2e7f7
 		if (tmpfd == -1) {
Dmitry Belyavskiy a2e7f7
 			logit("mkstemp(): %.100s", strerror(oerrno));
Dmitry Belyavskiy a2e7f7
+			free(ccname);
Dmitry Belyavskiy a2e7f7
 			return oerrno;
Dmitry Belyavskiy a2e7f7
 		}
Dmitry Belyavskiy a2e7f7
 
Dmitry Belyavskiy a2e7f7
@@ -433,6 +434,7 @@ ssh_krb5_cc_new_unique(krb5_context ctx,
Dmitry Belyavskiy a2e7f7
 			oerrno = errno;
Dmitry Belyavskiy a2e7f7
 			logit("fchmod(): %.100s", strerror(oerrno));
Dmitry Belyavskiy a2e7f7
 			close(tmpfd);
Dmitry Belyavskiy a2e7f7
+			free(ccname);
Dmitry Belyavskiy a2e7f7
 			return oerrno;
Dmitry Belyavskiy a2e7f7
 		}
Dmitry Belyavskiy a2e7f7
 		/* make sure the KRB5CCNAME is set for non-standard location */
Dmitry Belyavskiy a2e7f7
diff -up openssh-8.5p1/gss-genr.c.coverity openssh-8.5p1/gss-genr.c
Dmitry Belyavskiy 446f30
--- openssh-8.5p1/gss-genr.c.coverity	2021-03-26 11:52:46.613942552 +0100
Dmitry Belyavskiy 446f30
+++ openssh-8.5p1/gss-genr.c	2021-03-26 11:54:37.881726318 +0100
Dmitry Belyavskiy 446f30
@@ -167,8 +167,9 @@ ssh_gssapi_kex_mechs(gss_OID_set gss_sup
Dmitry Belyavskiy a2e7f7
 			enclen = __b64_ntop(digest,
Dmitry Belyavskiy a2e7f7
 			    ssh_digest_bytes(SSH_DIGEST_MD5), encoded,
Dmitry Belyavskiy a2e7f7
 			    ssh_digest_bytes(SSH_DIGEST_MD5) * 2);
Dmitry Belyavskiy a2e7f7
-
Dmitry Belyavskiy 446f30
+#pragma GCC diagnostic ignored "-Wstringop-overflow"
Dmitry Belyavskiy a2e7f7
 			cp = strncpy(s, kex, strlen(kex));
Dmitry Belyavskiy 446f30
+#pragma pop
Dmitry Belyavskiy a2e7f7
 			for ((p = strsep(&cp, ",")); p && *p != '\0';
Dmitry Belyavskiy a2e7f7
 				(p = strsep(&cp, ","))) {
Dmitry Belyavskiy 446f30
 				if (sshbuf_len(buf) != 0 &&
Dmitry Belyavskiy a2e7f7
diff -up openssh-8.5p1/krl.c.coverity openssh-8.5p1/krl.c
Dmitry Belyavskiy a2e7f7
--- openssh-8.5p1/krl.c.coverity	2021-03-02 11:31:47.000000000 +0100
Dmitry Belyavskiy a2e7f7
+++ openssh-8.5p1/krl.c	2021-03-24 12:03:33.783968166 +0100
Dmitry Belyavskiy a2e7f7
@@ -1261,6 +1262,7 @@ is_key_revoked(struct ssh_krl *krl, cons
Dmitry Belyavskiy a2e7f7
 		return r;
Dmitry Belyavskiy a2e7f7
 	erb = RB_FIND(revoked_blob_tree, &krl->revoked_sha1s, &rb);
Dmitry Belyavskiy a2e7f7
 	free(rb.blob);
Dmitry Belyavskiy a2e7f7
+	rb.blob = NULL; /* make coverity happy */
Dmitry Belyavskiy a2e7f7
 	if (erb != NULL) {
Dmitry Belyavskiy a2e7f7
 		KRL_DBG(("revoked by key SHA1"));
Dmitry Belyavskiy a2e7f7
 		return SSH_ERR_KEY_REVOKED;
Dmitry Belyavskiy a2e7f7
@@ -1271,6 +1273,7 @@ is_key_revoked(struct ssh_krl *krl, cons
Dmitry Belyavskiy a2e7f7
 		return r;
Dmitry Belyavskiy a2e7f7
 	erb = RB_FIND(revoked_blob_tree, &krl->revoked_sha256s, &rb);
Dmitry Belyavskiy a2e7f7
 	free(rb.blob);
Dmitry Belyavskiy a2e7f7
+	rb.blob = NULL; /* make coverity happy */
Dmitry Belyavskiy a2e7f7
 	if (erb != NULL) {
Dmitry Belyavskiy a2e7f7
 		KRL_DBG(("revoked by key SHA256"));
Dmitry Belyavskiy a2e7f7
 		return SSH_ERR_KEY_REVOKED;
Dmitry Belyavskiy a2e7f7
@@ -1282,6 +1285,7 @@ is_key_revoked(struct ssh_krl *krl, cons
Dmitry Belyavskiy a2e7f7
 		return r;
Dmitry Belyavskiy a2e7f7
 	erb = RB_FIND(revoked_blob_tree, &krl->revoked_keys, &rb);
Dmitry Belyavskiy a2e7f7
 	free(rb.blob);
Dmitry Belyavskiy a2e7f7
+	rb.blob = NULL; /* make coverity happy */
Dmitry Belyavskiy a2e7f7
 	if (erb != NULL) {
Dmitry Belyavskiy a2e7f7
 		KRL_DBG(("revoked by explicit key"));
Dmitry Belyavskiy a2e7f7
 		return SSH_ERR_KEY_REVOKED;
Dmitry Belyavskiy a2e7f7
diff -up openssh-8.5p1/loginrec.c.coverity openssh-8.5p1/loginrec.c
Dmitry Belyavskiy a2e7f7
--- openssh-8.5p1/loginrec.c.coverity	2021-03-24 13:18:53.793225885 +0100
Dmitry Belyavskiy a2e7f7
+++ openssh-8.5p1/loginrec.c	2021-03-24 13:21:27.948404751 +0100
Dmitry Belyavskiy a2e7f7
@@ -690,9 +690,11 @@ construct_utmp(struct logininfo *li,
Dmitry Belyavskiy a2e7f7
 	 */
Dmitry Belyavskiy a2e7f7
 
Dmitry Belyavskiy a2e7f7
 	/* Use strncpy because we don't necessarily want null termination */
Dmitry Belyavskiy a2e7f7
+	/* coverity[buffer_size_warning : FALSE] */
Dmitry Belyavskiy a2e7f7
 	strncpy(ut->ut_name, li->username,
Dmitry Belyavskiy a2e7f7
 	    MIN_SIZEOF(ut->ut_name, li->username));
Dmitry Belyavskiy a2e7f7
 # ifdef HAVE_HOST_IN_UTMP
Dmitry Belyavskiy a2e7f7
+	/* coverity[buffer_size_warning : FALSE] */
Dmitry Belyavskiy a2e7f7
 	strncpy(ut->ut_host, li->hostname,
Dmitry Belyavskiy a2e7f7
 	    MIN_SIZEOF(ut->ut_host, li->hostname));
Dmitry Belyavskiy a2e7f7
 # endif
Dmitry Belyavskiy a2e7f7
@@ -1690,6 +1692,7 @@ record_failed_login(struct ssh *ssh, con
Dmitry Belyavskiy a2e7f7
 
Dmitry Belyavskiy a2e7f7
 	memset(&ut, 0, sizeof(ut));
Dmitry Belyavskiy a2e7f7
 	/* strncpy because we don't necessarily want nul termination */
Dmitry Belyavskiy a2e7f7
+	/* coverity[buffer_size_warning : FALSE] */
Dmitry Belyavskiy a2e7f7
 	strncpy(ut.ut_user, username, sizeof(ut.ut_user));
Dmitry Belyavskiy a2e7f7
 	strlcpy(ut.ut_line, "ssh:notty", sizeof(ut.ut_line));
Dmitry Belyavskiy a2e7f7
 
Dmitry Belyavskiy a2e7f7
@@ -1699,6 +1702,7 @@ record_failed_login(struct ssh *ssh, con
Dmitry Belyavskiy a2e7f7
 	ut.ut_pid = getpid();
Dmitry Belyavskiy a2e7f7
 
Dmitry Belyavskiy a2e7f7
 	/* strncpy because we don't necessarily want nul termination */
Dmitry Belyavskiy a2e7f7
+	/* coverity[buffer_size_warning : FALSE] */
Dmitry Belyavskiy a2e7f7
 	strncpy(ut.ut_host, hostname, sizeof(ut.ut_host));
Dmitry Belyavskiy a2e7f7
 
Dmitry Belyavskiy a2e7f7
 	if (ssh_packet_connection_is_on_socket(ssh) &&
Dmitry Belyavskiy a2e7f7
diff -up openssh-8.5p1/misc.c.coverity openssh-8.5p1/misc.c
Dmitry Belyavskiy a2e7f7
--- openssh-8.5p1/misc.c.coverity	2021-03-24 12:03:33.745967902 +0100
Dmitry Belyavskiy a2e7f7
+++ openssh-8.5p1/misc.c	2021-03-24 13:31:47.037079617 +0100
Dmitry Belyavskiy a2e7f7
@@ -1425,6 +1425,8 @@ sanitise_stdfd(void)
Dmitry Belyavskiy a2e7f7
 	}
Dmitry Belyavskiy a2e7f7
 	if (nullfd > STDERR_FILENO)
Dmitry Belyavskiy a2e7f7
 		close(nullfd);
Dmitry Belyavskiy 446f30
+	/* coverity[leaked_handle : FALSE]*/
Dmitry Belyavskiy 446f30
+	/* coverity[leaked_handle : FALSE]*/
Dmitry Belyavskiy a2e7f7
 }
Dmitry Belyavskiy a2e7f7
 
Dmitry Belyavskiy a2e7f7
 char *
Dmitry Belyavskiy a2e7f7
@@ -2511,6 +2513,7 @@ stdfd_devnull(int do_stdin, int do_stdou
Dmitry Belyavskiy a2e7f7
 	}
Dmitry Belyavskiy a2e7f7
 	if (devnull > STDERR_FILENO)
Dmitry Belyavskiy a2e7f7
 		close(devnull);
Dmitry Belyavskiy 446f30
+	/* coverity[leaked_handle : FALSE]*/
Dmitry Belyavskiy a2e7f7
 	return ret;
Dmitry Belyavskiy a2e7f7
 }
Dmitry Belyavskiy a2e7f7
 
Jakub Jelen 6cf9b8
diff -up openssh-7.4p1/monitor.c.coverity openssh-7.4p1/monitor.c
Jakub Jelen 6cf9b8
--- openssh-7.4p1/monitor.c.coverity	2016-12-23 16:40:26.888788688 +0100
Jakub Jelen 6cf9b8
+++ openssh-7.4p1/monitor.c	2016-12-23 16:40:26.900788691 +0100
Jakub Jelen 6cf9b8
@@ -411,7 +411,7 @@ monitor_child_preauth(Authctxt *_authctx
Jakub Jelen def1de
 	mm_get_keystate(ssh, pmonitor);
Jan F. Chadima cff1d0
 
Jan F. Chadima cff1d0
 	/* Drain any buffered messages from the child */
Jan F. Chadima cff1d0
-	while (pmonitor->m_log_recvfd != -1 && monitor_read_log(pmonitor) == 0)
Jan F. Chadima cff1d0
+	while (pmonitor->m_log_recvfd >= 0 && monitor_read_log(pmonitor) == 0)
Jan F. Chadima cff1d0
 		;
Jan F. Chadima cff1d0
 
Jakub Jelen 3cd489
 	if (pmonitor->m_recvfd >= 0)
Dmitry Belyavskiy a2e7f7
@@ -1678,7 +1678,7 @@ mm_answer_pty(struct ssh *ssh, int sock,
Dmitry Belyavskiy a2e7f7
 	s->ptymaster = s->ptyfd;
Dmitry Belyavskiy a2e7f7
 
Dmitry Belyavskiy a2e7f7
 	debug3_f("tty %s ptyfd %d", s->tty, s->ttyfd);
Dmitry Belyavskiy a2e7f7
-
Dmitry Belyavskiy a2e7f7
+	/* coverity[leaked_handle : FALSE] */
Dmitry Belyavskiy a2e7f7
 	return (0);
Dmitry Belyavskiy a2e7f7
 
Dmitry Belyavskiy a2e7f7
  error:
Jakub Jelen 6cf9b8
diff -up openssh-7.4p1/openbsd-compat/bindresvport.c.coverity openssh-7.4p1/openbsd-compat/bindresvport.c
Jakub Jelen 6cf9b8
--- openssh-7.4p1/openbsd-compat/bindresvport.c.coverity	2016-12-19 05:59:41.000000000 +0100
Jakub Jelen 6cf9b8
+++ openssh-7.4p1/openbsd-compat/bindresvport.c	2016-12-23 16:40:26.901788691 +0100
Jakub Jelen 132f8f
@@ -58,7 +58,7 @@ bindresvport_sa(int sd, struct sockaddr
Jan F. Chadima ea97ff
 	struct sockaddr_in6 *in6;
Jan F. Chadima ea97ff
 	u_int16_t *portp;
Jan F. Chadima ea97ff
 	u_int16_t port;
Jan F. Chadima ea97ff
-	socklen_t salen;
Jan F. Chadima ea97ff
+	socklen_t salen = sizeof(struct sockaddr_storage);
Jan F. Chadima ea97ff
 	int i;
Jan F. Chadima ea97ff
 
Jan F. Chadima ea97ff
 	if (sa == NULL) {
Dmitry Belyavskiy 8f4d19
diff -up openssh-8.7p1/openbsd-compat/bsd-pselect.c.coverity openssh-8.7p1/openbsd-compat/bsd-pselect.c
Dmitry Belyavskiy 8f4d19
--- openssh-8.7p1/openbsd-compat/bsd-pselect.c.coverity	2021-08-30 16:36:11.357288009 +0200
Dmitry Belyavskiy 8f4d19
+++ openssh-8.7p1/openbsd-compat/bsd-pselect.c	2021-08-30 16:37:21.791897976 +0200
Dmitry Belyavskiy 8f4d19
@@ -113,13 +113,13 @@ pselect_notify_setup(void)
Dmitry Belyavskiy 8f4d19
 static void
Dmitry Belyavskiy 8f4d19
 pselect_notify_parent(void)
Dmitry Belyavskiy 8f4d19
 {
Dmitry Belyavskiy 8f4d19
-	if (notify_pipe[1] != -1)
Dmitry Belyavskiy 8f4d19
+	if (notify_pipe[1] >= 0)
Dmitry Belyavskiy 8f4d19
 		(void)write(notify_pipe[1], "", 1);
Dmitry Belyavskiy 8f4d19
 }
Dmitry Belyavskiy 8f4d19
 static void
Dmitry Belyavskiy 8f4d19
 pselect_notify_prepare(fd_set *readset)
Dmitry Belyavskiy 8f4d19
 {
Dmitry Belyavskiy 8f4d19
-	if (notify_pipe[0] != -1)
Dmitry Belyavskiy 8f4d19
+	if (notify_pipe[0] >= 0)
Dmitry Belyavskiy 8f4d19
 		FD_SET(notify_pipe[0], readset);
Dmitry Belyavskiy 8f4d19
 }
Dmitry Belyavskiy 8f4d19
 static void
Dmitry Belyavskiy 8f4d19
@@ -127,8 +127,8 @@ pselect_notify_done(fd_set *readset)
Dmitry Belyavskiy 8f4d19
 {
Dmitry Belyavskiy 8f4d19
 	char c;
Dmitry Belyavskiy 8f4d19
 
Dmitry Belyavskiy 8f4d19
-	if (notify_pipe[0] != -1 && FD_ISSET(notify_pipe[0], readset)) {
Dmitry Belyavskiy 8f4d19
-		while (read(notify_pipe[0], &c, 1) != -1)
Dmitry Belyavskiy 8f4d19
+	if (notify_pipe[0] >= 0 && FD_ISSET(notify_pipe[0], readset)) {
Dmitry Belyavskiy 8f4d19
+		while (read(notify_pipe[0], &c, 1) >= 0)
Dmitry Belyavskiy 8f4d19
 			debug2_f("reading");
Dmitry Belyavskiy 8f4d19
 		FD_CLR(notify_pipe[0], readset);
Dmitry Belyavskiy 8f4d19
 	}
Dmitry Belyavskiy a2e7f7
diff -up openssh-8.5p1/readconf.c.coverity openssh-8.5p1/readconf.c
Dmitry Belyavskiy a2e7f7
--- openssh-8.5p1/readconf.c.coverity	2021-03-24 12:03:33.778968131 +0100
Dmitry Belyavskiy a2e7f7
+++ openssh-8.5p1/readconf.c	2021-03-24 12:03:33.785968180 +0100
Dmitry Belyavskiy a2e7f7
@@ -1847,6 +1847,7 @@ parse_pubkey_algos:
Dmitry Belyavskiy a2e7f7
 			} else if (r != 0) {
Dmitry Belyavskiy a2e7f7
 				error("%.200s line %d: glob failed for %s.",
Dmitry Belyavskiy a2e7f7
 				    filename, linenum, arg2);
Dmitry Belyavskiy a2e7f7
+				free(arg2);
Dmitry Belyavskiy 8f4d19
 				goto out;
Dmitry Belyavskiy a2e7f7
 			}
Dmitry Belyavskiy a2e7f7
 			free(arg2);
Jakub Jelen 6cf9b8
diff -up openssh-7.4p1/servconf.c.coverity openssh-7.4p1/servconf.c
Jakub Jelen 6cf9b8
--- openssh-7.4p1/servconf.c.coverity	2016-12-23 16:40:26.896788690 +0100
Jakub Jelen 6cf9b8
+++ openssh-7.4p1/servconf.c	2016-12-23 16:40:26.901788691 +0100
Jakub Jelen 6cf9b8
@@ -1638,8 +1638,9 @@ process_server_config_line(ServerOptions
Jan F. Chadima cff1d0
 		if (*activep && *charptr == NULL) {
Jan F. Chadima cff1d0
 			*charptr = tilde_expand_filename(arg, getuid());
Jan F. Chadima cff1d0
 			/* increase optional counter */
Jan F. Chadima cff1d0
-			if (intptr != NULL)
Jan F. Chadima cff1d0
-				*intptr = *intptr + 1;
Jan F. Chadima cff1d0
+			/* DEAD CODE intptr is still NULL ;)
Jan F. Chadima cff1d0
+  			 if (intptr != NULL)
Jan F. Chadima cff1d0
+				*intptr = *intptr + 1; */
Jan F. Chadima cff1d0
 		}
Jan F. Chadima cff1d0
 		break;
Jan F. Chadima cff1d0
 
Dmitry Belyavskiy 8f4d19
diff -up openssh-8.7p1/serverloop.c.coverity openssh-8.7p1/serverloop.c
Dmitry Belyavskiy 8f4d19
--- openssh-8.7p1/serverloop.c.coverity	2021-08-20 06:03:49.000000000 +0200
Dmitry Belyavskiy 8f4d19
+++ openssh-8.7p1/serverloop.c	2021-08-30 16:28:22.416226981 +0200
Dmitry Belyavskiy 8f4d19
@@ -547,7 +547,7 @@ server_request_tun(struct ssh *ssh)
Jakub Jelen 25c16c
 		debug_f("invalid tun");
Jakub Jelen def1de
 		goto done;
Jan F. Chadima 3b545b
 	}
Jakub Jelen 3cd489
-	if (auth_opts->force_tun_device != -1) {
Jakub Jelen 3cd489
+	if (auth_opts->force_tun_device >= 0) {
Jakub Jelen def1de
 		if (tun != SSH_TUNID_ANY &&
Jakub Jelen def1de
 		    auth_opts->force_tun_device != (int)tun)
Jan F. Chadima 3b545b
 			goto done;
Jakub Jelen 6cf9b8
diff -up openssh-7.4p1/ssh-agent.c.coverity openssh-7.4p1/ssh-agent.c
Jakub Jelen 6cf9b8
--- openssh-7.4p1/ssh-agent.c.coverity	2016-12-19 05:59:41.000000000 +0100
Jakub Jelen 6cf9b8
+++ openssh-7.4p1/ssh-agent.c	2016-12-23 16:40:26.903788691 +0100
Dmitry Belyavskiy a2e7f7
@@ -869,6 +869,7 @@ sanitize_pkcs11_provider(const char *pro
Dmitry Belyavskiy a2e7f7
 
Dmitry Belyavskiy a2e7f7
 		if (pkcs11_uri_parse(provider, uri) != 0) {
Dmitry Belyavskiy a2e7f7
 			error("Failed to parse PKCS#11 URI");
Dmitry Belyavskiy a2e7f7
+			pkcs11_uri_cleanup(uri);
Dmitry Belyavskiy a2e7f7
 			return NULL;
Dmitry Belyavskiy a2e7f7
 		}
Dmitry Belyavskiy a2e7f7
 		/* validate also provider from URI */
Jakub Jelen 6cf9b8
diff -up openssh-7.4p1/sshd.c.coverity openssh-7.4p1/sshd.c
Jakub Jelen 6cf9b8
--- openssh-7.4p1/sshd.c.coverity	2016-12-23 16:40:26.897788690 +0100
Jakub Jelen 6cf9b8
+++ openssh-7.4p1/sshd.c	2016-12-23 16:40:26.904788692 +0100
Jakub Jelen 6cf9b8
@@ -691,8 +691,10 @@ privsep_preauth(Authctxt *authctxt)
Jakub Jelen 13073f
 
Jakub Jelen def1de
 		privsep_preauth_child(ssh);
Jan F. Chadima cff1d0
 		setproctitle("%s", "[net]");
Jan F. Chadima cff1d0
-		if (box != NULL)
Jan F. Chadima cff1d0
+		if (box != NULL) {
Jan F. Chadima cff1d0
 			ssh_sandbox_child(box);
Petr Lautrbach 84822b
+			free(box);
Jan F. Chadima cff1d0
+		}
Jan F. Chadima cff1d0
 
Jan F. Chadima cff1d0
 		return 0;
Jan F. Chadima cff1d0
 	}
Dmitry Belyavskiy a2e7f7
@@ -2519,8 +2524,11 @@ do_ssh2_kex(struct ssh *ssh)
Dmitry Belyavskiy a2e7f7
 
Dmitry Belyavskiy a2e7f7
 	if (newstr)
Dmitry Belyavskiy a2e7f7
 		myproposal[PROPOSAL_KEX_ALGS] = newstr;
Dmitry Belyavskiy a2e7f7
-	else
Dmitry Belyavskiy a2e7f7
+	else {
Dmitry Belyavskiy a2e7f7
 		fatal("No supported key exchange algorithms");
Dmitry Belyavskiy a2e7f7
+		free(gss);
Dmitry Belyavskiy a2e7f7
+	     }
Dmitry Belyavskiy a2e7f7
+	     /* coverity[leaked_storage: FALSE]*/
Dmitry Belyavskiy a2e7f7
 	}
Dmitry Belyavskiy a2e7f7
 #endif
Dmitry Belyavskiy a2e7f7
 
Dmitry Belyavskiy a2e7f7
diff -up openssh-8.5p1/ssh-keygen.c.coverity openssh-8.5p1/ssh-keygen.c
Dmitry Belyavskiy a2e7f7
--- openssh-8.5p1/ssh-keygen.c.coverity	2021-03-24 12:03:33.780968145 +0100
Dmitry Belyavskiy a2e7f7
+++ openssh-8.5p1/ssh-keygen.c	2021-03-24 12:03:33.787968194 +0100
Dmitry Belyavskiy a2e7f7
@@ -2332,6 +2332,9 @@ update_krl_from_file(struct passwd *pw,
Dmitry Belyavskiy a2e7f7
 			r = ssh_krl_revoke_key_sha256(krl, blob, blen);
Dmitry Belyavskiy a2e7f7
 			if (r != 0)
Dmitry Belyavskiy a2e7f7
 				fatal_fr(r, "revoke key failed");
Dmitry Belyavskiy a2e7f7
+			freezero(blob, blen);
Dmitry Belyavskiy a2e7f7
+			blob = NULL;
Dmitry Belyavskiy a2e7f7
+			blen = 0;
Dmitry Belyavskiy a2e7f7
 		} else {
Dmitry Belyavskiy a2e7f7
 			if (strncasecmp(cp, "key:", 4) == 0) {
Dmitry Belyavskiy a2e7f7
 				cp += 4;