コード例 #1
0
ファイル: s2n_mem.c プロジェクト: ramoslin02/s2n
int s2n_alloc(struct s2n_blob *b, uint32_t size)
{
    b->data = NULL;
    b->size = 0;
    b->allocated = 0;
    GUARD(s2n_realloc(b, size));
    return 0;
}
コード例 #2
0
ファイル: s2n_stuffer.c プロジェクト: Wiladams/s2n
int s2n_stuffer_resize(struct s2n_stuffer *stuffer, const uint32_t size)
{
    if (stuffer->growable == 0) {
        S2N_ERROR(S2N_ERR_RESIZE_STATIC_STUFFER);
    }
    if (stuffer->tainted == 1) {
        S2N_ERROR(S2N_ERR_RESIZE_TAINTED_STUFFER);
    }
    if (size == stuffer->blob.size) {
        return 0;
    }
    if (size < stuffer->blob.size) {
        GUARD(s2n_stuffer_wipe_n(stuffer, stuffer->blob.size - size));
    }

    GUARD(s2n_realloc(&stuffer->blob, size));

    stuffer->blob.size = size;

    return 0;
}