summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/buffer/buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/buffer/buffer.c')
-rw-r--r--src/lib/libcrypto/buffer/buffer.c60
1 files changed, 1 insertions, 59 deletions
diff --git a/src/lib/libcrypto/buffer/buffer.c b/src/lib/libcrypto/buffer/buffer.c
index bc803ab6c8..d7aa79ad7f 100644
--- a/src/lib/libcrypto/buffer/buffer.c
+++ b/src/lib/libcrypto/buffer/buffer.c
@@ -156,7 +156,7 @@ int BUF_MEM_grow_clean(BUF_MEM *str, size_t len)
156 /* This limit is sufficient to ensure (len+3)/3*4 < 2**31 */ 156 /* This limit is sufficient to ensure (len+3)/3*4 < 2**31 */
157 if (len > LIMIT_BEFORE_EXPANSION) 157 if (len > LIMIT_BEFORE_EXPANSION)
158 { 158 {
159 BUFerr(BUF_F_BUF_MEM_GROW,ERR_R_MALLOC_FAILURE); 159 BUFerr(BUF_F_BUF_MEM_GROW_CLEAN,ERR_R_MALLOC_FAILURE);
160 return 0; 160 return 0;
161 } 161 }
162 n=(len+3)/3*4; 162 n=(len+3)/3*4;
@@ -179,64 +179,6 @@ int BUF_MEM_grow_clean(BUF_MEM *str, size_t len)
179 return(len); 179 return(len);
180 } 180 }
181 181
182char *BUF_strdup(const char *str)
183 {
184 if (str == NULL) return(NULL);
185 return BUF_strndup(str, strlen(str));
186 }
187
188char *BUF_strndup(const char *str, size_t siz)
189 {
190 char *ret;
191
192 if (str == NULL) return(NULL);
193
194 ret=OPENSSL_malloc(siz+1);
195 if (ret == NULL)
196 {
197 BUFerr(BUF_F_BUF_STRNDUP,ERR_R_MALLOC_FAILURE);
198 return(NULL);
199 }
200 BUF_strlcpy(ret,str,siz+1);
201 return(ret);
202 }
203
204void *BUF_memdup(const void *data, size_t siz)
205 {
206 void *ret;
207
208 if (data == NULL) return(NULL);
209
210 ret=OPENSSL_malloc(siz);
211 if (ret == NULL)
212 {
213 BUFerr(BUF_F_BUF_MEMDUP,ERR_R_MALLOC_FAILURE);
214 return(NULL);
215 }
216 return memcpy(ret, data, siz);
217 }
218
219size_t BUF_strlcpy(char *dst, const char *src, size_t size)
220 {
221 size_t l = 0;
222 for(; size > 1 && *src; size--)
223 {
224 *dst++ = *src++;
225 l++;
226 }
227 if (size)
228 *dst = '\0';
229 return l + strlen(src);
230 }
231
232size_t BUF_strlcat(char *dst, const char *src, size_t size)
233 {
234 size_t l = 0;
235 for(; size > 0 && *dst; size--, dst++)
236 l++;
237 return l + BUF_strlcpy(dst, src, size);
238 }
239
240void BUF_reverse(unsigned char *out, unsigned char *in, size_t size) 182void BUF_reverse(unsigned char *out, unsigned char *in, size_t size)
241 { 183 {
242 size_t i; 184 size_t i;