Skip to content

Commit

Permalink
python: check file pointer when loading trusted setup (#401)
Browse files Browse the repository at this point in the history
Co-authored-by: George Kadianakis <[email protected]>
  • Loading branch information
jtraglia and asn-d6 authored Mar 4, 2024
1 parent 486b15b commit 2ab0c21
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions bindings/python/ckzg.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,24 @@ static void free_KZGSettings(PyObject *c) {

static PyObject* load_trusted_setup_wrap(PyObject *self, PyObject *args) {
PyObject *f;
FILE *fp;

if (!PyArg_ParseTuple(args, "U", &f))
return PyErr_Format(PyExc_ValueError, "expected a string");

KZGSettings *s = (KZGSettings*)malloc(sizeof(KZGSettings));

if (s == NULL) return PyErr_NoMemory();

if (load_trusted_setup_file(s, fopen(PyUnicode_AsUTF8(f), "r")) != C_KZG_OK) {
fp = fopen(PyUnicode_AsUTF8(f), "r");
if (fp == NULL) {
free(s);
return PyErr_Format(PyExc_RuntimeError, "error reading trusted setup");
}

C_KZG_RET ret = load_trusted_setup_file(s, fp);
fclose(fp);

if (ret != C_KZG_OK) {
free(s);
return PyErr_Format(PyExc_RuntimeError, "error loading trusted setup");
}
Expand Down

0 comments on commit 2ab0c21

Please sign in to comment.