diff options
Diffstat (limited to 'src/lib/libcrypto/buffer/buffer.c')
| -rw-r--r-- | src/lib/libcrypto/buffer/buffer.c | 31 |
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 | ||
| 165 | char *BUF_strdup(const char *str) | 165 | char *BUF_strdup(const char *str) |
| 166 | { | 166 | { |
| 167 | if (str == NULL) return(NULL); | ||
| 168 | return BUF_strndup(str, strlen(str)); | ||
| 169 | } | ||
| 170 | |||
| 171 | char *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 | ||
| 187 | void *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 | |||
| 202 | size_t BUF_strlcpy(char *dst, const char *src, size_t size) | 183 | size_t BUF_strlcpy(char *dst, const char *src, size_t size) |
| 203 | { | 184 | { |
| 204 | size_t l = 0; | 185 | size_t l = 0; |
