summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/buffer/buffer.c
diff options
context:
space:
mode:
authordjm <>2008-09-06 12:17:54 +0000
committerdjm <>2008-09-06 12:17:54 +0000
commit38ce604e3cc97706b876b0525ddff0121115456d (patch)
tree7ccc28afe1789ea3dbedf72365f955d5b8e105b5 /src/lib/libcrypto/buffer/buffer.c
parent12867252827c8efaa8ddd1fa3b3d6e321e2bcdef (diff)
downloadopenbsd-38ce604e3cc97706b876b0525ddff0121115456d.tar.gz
openbsd-38ce604e3cc97706b876b0525ddff0121115456d.tar.bz2
openbsd-38ce604e3cc97706b876b0525ddff0121115456d.zip
resolve conflicts
Diffstat (limited to 'src/lib/libcrypto/buffer/buffer.c')
-rw-r--r--src/lib/libcrypto/buffer/buffer.c31
1 files changed, 25 insertions, 6 deletions
diff --git a/src/lib/libcrypto/buffer/buffer.c b/src/lib/libcrypto/buffer/buffer.c
index d96487e7db..3bf03c7eff 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,ERR_R_MALLOC_FAILURE); 152 BUFerr(BUF_F_BUF_MEM_GROW_CLEAN,ERR_R_MALLOC_FAILURE);
153 len=0; 153 len=0;
154 } 154 }
155 else 155 else
@@ -164,22 +164,41 @@ 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 {
167 char *ret; 173 char *ret;
168 int n;
169 174
170 if (str == NULL) return(NULL); 175 if (str == NULL) return(NULL);
171 176
172 n=strlen(str); 177 ret=OPENSSL_malloc(siz+1);
173 ret=OPENSSL_malloc(n+1);
174 if (ret == NULL) 178 if (ret == NULL)
175 { 179 {
176 BUFerr(BUF_F_BUF_STRDUP,ERR_R_MALLOC_FAILURE); 180 BUFerr(BUF_F_BUF_STRNDUP,ERR_R_MALLOC_FAILURE);
177 return(NULL); 181 return(NULL);
178 } 182 }
179 memcpy(ret,str,n+1); 183 BUF_strlcpy(ret,str,siz+1);
180 return(ret); 184 return(ret);
181 } 185 }
182 186
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
183size_t BUF_strlcpy(char *dst, const char *src, size_t size) 202size_t BUF_strlcpy(char *dst, const char *src, size_t size)
184 { 203 {
185 size_t l = 0; 204 size_t l = 0;