summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/buffer
diff options
context:
space:
mode:
authortb <>2023-07-28 10:17:21 +0000
committertb <>2023-07-28 10:17:21 +0000
commit39fd8a543e6f18ed3accea6db537f4a36fdb017d (patch)
treedc39f416023b0f99ec8cf84560368de1ed8d4d71 /src/lib/libcrypto/buffer
parente56dd594e13ac1e9a8e37ebda000cf90e2a9ad20 (diff)
downloadopenbsd-39fd8a543e6f18ed3accea6db537f4a36fdb017d.tar.gz
openbsd-39fd8a543e6f18ed3accea6db537f4a36fdb017d.tar.bz2
openbsd-39fd8a543e6f18ed3accea6db537f4a36fdb017d.zip
Remove BUF_[a-z]* API
This are a bunch of strange string handlers with NULL checks that make no real sense except to some devs who like to sprinkle them everywhere. Fortunately, nothing uses these anymore, so they can go. ok jsing
Diffstat (limited to 'src/lib/libcrypto/buffer')
-rw-r--r--src/lib/libcrypto/buffer/buf_str.c79
-rw-r--r--src/lib/libcrypto/buffer/buffer.h18
2 files changed, 1 insertions, 96 deletions
diff --git a/src/lib/libcrypto/buffer/buf_str.c b/src/lib/libcrypto/buffer/buf_str.c
deleted file mode 100644
index 4ebc4717c8..0000000000
--- a/src/lib/libcrypto/buffer/buf_str.c
+++ /dev/null
@@ -1,79 +0,0 @@
1/* $OpenBSD: buf_str.c,v 1.11 2017/04/09 14:33:21 jsing Exp $ */
2/*
3 * Copyright (c) 2014 Bob Beck
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#include <stdlib.h>
19#include <stdio.h>
20#include <string.h>
21
22#include <openssl/buffer.h>
23#include <openssl/err.h>
24
25/*
26 * XXX these functions accept a NULL arg and return NULL
27 * when the standard ones do not. we should at an appropriate
28 * time change these to find the bad callers
29 */
30
31char *
32BUF_strdup(const char *str)
33{
34 char *ret = NULL;
35
36 if (str != NULL) {
37 if ((ret = strdup(str)) == NULL)
38 BUFerror(ERR_R_MALLOC_FAILURE);
39 }
40 return ret;
41}
42
43char *
44BUF_strndup(const char *str, size_t siz)
45{
46 char *ret = NULL;
47
48 if (str != NULL) {
49 if ((ret = strndup(str, siz)) == NULL)
50 BUFerror(ERR_R_MALLOC_FAILURE);
51 }
52 return ret;
53}
54
55void *
56BUF_memdup(const void *data, size_t siz)
57{
58 void *ret = NULL;
59
60 if (data != NULL) {
61 if ((ret = malloc(siz)) == NULL)
62 BUFerror(ERR_R_MALLOC_FAILURE);
63 else
64 (void) memcpy(ret, data, siz);
65 }
66 return ret;
67}
68
69size_t
70BUF_strlcpy(char *dst, const char *src, size_t size)
71{
72 return strlcpy(dst, src, size);
73}
74
75size_t
76BUF_strlcat(char *dst, const char *src, size_t size)
77{
78 return strlcat(dst, src, size);
79}
diff --git a/src/lib/libcrypto/buffer/buffer.h b/src/lib/libcrypto/buffer/buffer.h
index c210bfd1c5..d461d6493c 100644
--- a/src/lib/libcrypto/buffer/buffer.h
+++ b/src/lib/libcrypto/buffer/buffer.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: buffer.h,v 1.16 2022/07/12 14:42:48 kn Exp $ */ 1/* $OpenBSD: buffer.h,v 1.17 2023/07/28 10:17:21 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -58,9 +58,6 @@
58 58
59#ifndef HEADER_BUFFER_H 59#ifndef HEADER_BUFFER_H
60#define HEADER_BUFFER_H 60#define HEADER_BUFFER_H
61#if !defined(HAVE_ATTRIBUTE__BOUNDED__) && !defined(__OpenBSD__)
62#define __bounded__(x, y, z)
63#endif
64 61
65#include <openssl/ossl_typ.h> 62#include <openssl/ossl_typ.h>
66 63
@@ -85,19 +82,6 @@ void BUF_MEM_free(BUF_MEM *a);
85int BUF_MEM_grow(BUF_MEM *str, size_t len); 82int BUF_MEM_grow(BUF_MEM *str, size_t len);
86int BUF_MEM_grow_clean(BUF_MEM *str, size_t len); 83int BUF_MEM_grow_clean(BUF_MEM *str, size_t len);
87 84
88#ifndef LIBRESSL_INTERNAL
89char * BUF_strdup(const char *str);
90char * BUF_strndup(const char *str, size_t siz);
91void * BUF_memdup(const void *data, size_t siz);
92void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz);
93
94/* safe string functions */
95size_t BUF_strlcpy(char *dst, const char *src, size_t siz)
96 __attribute__ ((__bounded__(__string__,1,3)));
97size_t BUF_strlcat(char *dst, const char *src, size_t siz)
98 __attribute__ ((__bounded__(__string__,1,3)));
99#endif
100
101void ERR_load_BUF_strings(void); 85void ERR_load_BUF_strings(void);
102 86
103/* Error codes for the BUF functions. */ 87/* Error codes for the BUF functions. */