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.c31
1 files changed, 6 insertions, 25 deletions
diff --git a/src/lib/libcrypto/buffer/buffer.c b/src/lib/libcrypto/buffer/buffer.c
index 3bf03c7eff..d96487e7db 100644
--- a/src/lib/libcrypto/buffer/buffer.c
+++ b/src/lib/libcrypto/buffer/buffer.c
@@ -149,7 +149,7 @@ int BUF_MEM_grow_clean(BUF_MEM *str, int len)
149 ret=OPENSSL_realloc_clean(str->data,str->max,n); 149 ret=OPENSSL_realloc_clean(str->data,str->max,n);
150 if (ret == NULL) 150 if (ret == NULL)
151 { 151 {
152 BUFerr(BUF_F_BUF_MEM_GROW_CLEAN,ERR_R_MALLOC_FAILURE); 152 BUFerr(BUF_F_BUF_MEM_GROW,ERR_R_MALLOC_FAILURE);
153 len=0; 153 len=0;
154 } 154 }
155 else 155 else
@@ -164,41 +164,22 @@ int BUF_MEM_grow_clean(BUF_MEM *str, int len)
164 164
165char *BUF_strdup(const char *str) 165char *BUF_strdup(const char *str)
166 { 166 {
167 if (str == NULL) return(NULL);
168 return BUF_strndup(str, strlen(str));
169 }
170
171char *BUF_strndup(const char *str, size_t siz)
172 {
173 char *ret; 167 char *ret;
168 int n;
174 169
175 if (str == NULL) return(NULL); 170 if (str == NULL) return(NULL);
176 171
177 ret=OPENSSL_malloc(siz+1); 172 n=strlen(str);
173 ret=OPENSSL_malloc(n+1);
178 if (ret == NULL) 174 if (ret == NULL)
179 { 175 {
180 BUFerr(BUF_F_BUF_STRNDUP,ERR_R_MALLOC_FAILURE); 176 BUFerr(BUF_F_BUF_STRDUP,ERR_R_MALLOC_FAILURE);
181 return(NULL); 177 return(NULL);
182 } 178 }
183 BUF_strlcpy(ret,str,siz+1); 179 memcpy(ret,str,n+1);
184 return(ret); 180 return(ret);
185 } 181 }
186 182
187void *BUF_memdup(const void *data, size_t siz)
188 {
189 void *ret;
190
191 if (data == NULL) return(NULL);
192
193 ret=OPENSSL_malloc(siz);
194 if (ret == NULL)
195 {
196 BUFerr(BUF_F_BUF_MEMDUP,ERR_R_MALLOC_FAILURE);
197 return(NULL);
198 }
199 return memcpy(ret, data, siz);
200 }
201
202size_t BUF_strlcpy(char *dst, const char *src, size_t size) 183size_t BUF_strlcpy(char *dst, const char *src, size_t size)
203 { 184 {
204 size_t l = 0; 185 size_t l = 0;