blob: ab21c20ef9775ac8c33776109bb4489e46b51fd4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
/* See LICENSE file for copyright and license details. */
#include "common.h"
/**
* A wrapper for `libkeccak_state_copy` that also allocates the duplicate
*
* @param src The state to duplicate
* @return The duplicate, `NULL` on error
*/
struct libkeccak_state *
libkeccak_state_duplicate(const struct libkeccak_state *restrict src)
{
struct libkeccak_state *restrict dest = malloc(sizeof(struct libkeccak_state));
if (!dest || libkeccak_state_copy(dest, src)) {
libkeccak_state_free(dest);
return NULL;
}
return dest;
}
|