src/OpenSSL/crypto.py
def _new_mem_buf(buffer=None):
    """
    Allocate a new OpenSSL memory BIO.

    Arrange for the garbage collector to clean it up automatically.

    :param buffer: None or some bytes to use to put into the BIO so that they
        can be read out.
    """
    if buffer is None:
        bio = _lib.BIO_new(_lib.BIO_s_mem())
        free = _lib.BIO_free
    else:
        data = _ffi.new("char[]", buffer)
        bio = _lib.BIO_new_mem_buf(data, len(buffer))

        # Keep the memory alive as long as the bio is alive!
        def free(bio, ref=data):
            return _lib.BIO_free(bio)

    _openssl_assert(bio != _ffi.NULL)

    bio = _ffi.gc(bio, free)
    return bio
def _new_mem_buf(buffer=None):
    if buffer is None:
        bio = _lib.BIO_new(_lib.BIO_s_mem())
        free = _lib.BIO_free
    else:
        data = _ffi.new("char[]", buffer)
        bio = _lib.BIO_new_mem_buf(data, len(buffer))

        # Keep the memory alive as long as the bio is alive!
        def free(bio, ref=data):
            return _lib.BIO_free(bio)

    _openssl_assert(bio != _ffi.NULL)

    bio = _ffi.gc(bio, free)
    return bio
def _new_mem_buf ( buffer = None ) : if buffer is None : bio = _lib . BIO_new ( _lib . BIO_s_mem ( ) ) free = _lib . BIO_free else : data = _ffi . new ( "char[]" , buffer ) bio = _lib . BIO_new_mem_buf ( data , len ( buffer ) ) # Keep the memory alive as long as the bio is alive! def free ( bio , ref = data ) : return _lib . BIO_free ( bio ) _openssl_assert ( bio != _ffi . NULL ) bio = _ffi . gc ( bio , free ) return bio
Allocate a new OpenSSL memory BIO.

    Arrange for the garbage collector to clean it up automatically.

    :param buffer: None or some bytes to use to put into the BIO so that they
        can be read out.
Allocate a new OpenSSL memory BIO .