~ubuntu-branches/ubuntu/lucid/openssl/lucid

« back to all changes in this revision

Viewing changes to crypto/buffer/buffer.c

  • Committer: Bazaar Package Importer
  • Author(s): Nicolas Valcárcel Scerpella (Canonical)
  • Date: 2009-12-06 20:16:24 UTC
  • mfrom: (11.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20091206201624-u126qjpqm2n2uuhu
Tags: 0.9.8k-7ubuntu1
* Merge from debian unstable, remaining changes (LP: #493392):
  - Link using -Bsymbolic-functions
  - Add support for lpia
  - Disable SSLv2 during compile
  - Ship documentation in openssl-doc, suggested by the package.
  - Use a different priority for libssl0.9.8/restart-services
    depending on whether a desktop, or server dist-upgrade is being
    performed.
  - Display a system restart required notification bubble on libssl0.9.8
    upgrade.
  - Replace duplicate files in the doc directory with symlinks.
  - Move runtime libraries to /lib, for the benefit of wpasupplicant
* Strip the patches out of the source into quilt patches
* Disable CVE-2009-3555.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
161
161
                }
162
162
        return(len);
163
163
        }
164
 
 
165
 
char *BUF_strdup(const char *str)
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;
174
 
 
175
 
        if (str == NULL) return(NULL);
176
 
 
177
 
        ret=OPENSSL_malloc(siz+1);
178
 
        if (ret == NULL) 
179
 
                {
180
 
                BUFerr(BUF_F_BUF_STRNDUP,ERR_R_MALLOC_FAILURE);
181
 
                return(NULL);
182
 
                }
183
 
        BUF_strlcpy(ret,str,siz+1);
184
 
        return(ret);
185
 
        }
186
 
 
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)
203
 
        {
204
 
        size_t l = 0;
205
 
        for(; size > 1 && *src; size--)
206
 
                {
207
 
                *dst++ = *src++;
208
 
                l++;
209
 
                }
210
 
        if (size)
211
 
                *dst = '\0';
212
 
        return l + strlen(src);
213
 
        }
214
 
 
215
 
size_t BUF_strlcat(char *dst, const char *src, size_t size)
216
 
        {
217
 
        size_t l = 0;
218
 
        for(; size > 0 && *dst; size--, dst++)
219
 
                l++;
220
 
        return l + BUF_strlcpy(dst, src, size);
221
 
        }