summaryrefslogtreecommitdiff
path: root/sshbuf.c
diff options
context:
space:
mode:
authormarkus@openbsd.org <markus@openbsd.org>2018-07-09 21:56:06 +0000
committerDamien Miller <djm@mindrot.org>2018-07-10 16:44:17 +1000
commitcb30cd47041edb03476be1c8ef7bc1f4b69d1555 (patch)
treeb6bd48d3ab741d48bbba182dcce30654286c8627 /sshbuf.c
parent235c7c4e3bf046982c2d8242f30aacffa01073d1 (diff)
downloadopenssh-git-cb30cd47041edb03476be1c8ef7bc1f4b69d1555.tar.gz
upstream: remove legacy buffer API emulation layer; ok djm@
OpenBSD-Commit-ID: 2dd5dc17cbc23195be4299fa93be2707a0e08ad9
Diffstat (limited to 'sshbuf.c')
-rw-r--r--sshbuf.c22
1 files changed, 2 insertions, 20 deletions
diff --git a/sshbuf.c b/sshbuf.c
index de783a36..20ddf9eb 100644
--- a/sshbuf.c
+++ b/sshbuf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshbuf.c,v 1.11 2017/06/01 06:58:25 djm Exp $ */
+/* $OpenBSD: sshbuf.c,v 1.12 2018/07/09 21:56:06 markus Exp $ */
/*
* Copyright (c) 2011 Damien Miller
*
@@ -36,7 +36,6 @@ sshbuf_check_sanity(const struct sshbuf *buf)
(!buf->readonly && buf->d != buf->cd) ||
buf->refcount < 1 || buf->refcount > SSHBUF_REFS_MAX ||
buf->cd == NULL ||
- (buf->dont_free && (buf->readonly || buf->parent != NULL)) ||
buf->max_size > SSHBUF_SIZE_MAX ||
buf->alloc > buf->max_size ||
buf->size > buf->alloc ||
@@ -132,23 +131,8 @@ sshbuf_fromb(struct sshbuf *buf)
}
void
-sshbuf_init(struct sshbuf *ret)
-{
- explicit_bzero(ret, sizeof(*ret));
- ret->alloc = SSHBUF_SIZE_INIT;
- ret->max_size = SSHBUF_SIZE_MAX;
- ret->readonly = 0;
- ret->dont_free = 1;
- ret->refcount = 1;
- if ((ret->cd = ret->d = calloc(1, ret->alloc)) == NULL)
- ret->alloc = 0;
-}
-
-void
sshbuf_free(struct sshbuf *buf)
{
- int dont_free = 0;
-
if (buf == NULL)
return;
/*
@@ -173,14 +157,12 @@ sshbuf_free(struct sshbuf *buf)
buf->refcount--;
if (buf->refcount > 0)
return;
- dont_free = buf->dont_free;
if (!buf->readonly) {
explicit_bzero(buf->d, buf->alloc);
free(buf->d);
}
explicit_bzero(buf, sizeof(*buf));
- if (!dont_free)
- free(buf);
+ free(buf);
}
void