DH_new() allocates and initializes a DH structure.
DH_free() frees the DH structure and its components. The values are erased before the memory is returned to the system.
If the allocation fails, DH_new() returns NULL and sets an error code that can be obtained by ERR_get_error(3). Otherwise it returns a pointer to the newly allocated structure.
DH_free() returns no value.