Skip to content

Commit

Permalink
Fix segfault for JS binding, closes #510
Browse files Browse the repository at this point in the history
  • Loading branch information
tdewolff committed Jul 10, 2022
1 parent 60ed0ce commit eeb7be4
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 6 deletions.
6 changes: 6 additions & 0 deletions bindings/js/minify.c
Original file line number Diff line number Diff line change
Expand Up @@ -245,10 +245,16 @@ napi_value file(napi_env env, napi_callback_info info) {
return NULL;
}

void cleanup() {
minifyCleanup();
}

napi_value init(napi_env env, napi_value exports) {
napi_status status;
napi_value fnConfig, fnString, fnFile;

status = napi_add_async_cleanup_hook(env, cleanup, NULL, NULL);

status = napi_create_function(env, NULL, 0, config, NULL, &fnConfig);
if (status != napi_ok) {
return NULL;
Expand Down
9 changes: 7 additions & 2 deletions bindings/js/minify.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import (
"github.com/tdewolff/parse/v2/buffer"
)

var m minify.M
var m *minify.M

func init() {
minifyConfig(nil, nil, 0)
Expand Down Expand Up @@ -109,7 +109,7 @@ func minifyConfig(ckeys **C.char, cvals **C.char, length C.longlong) *C.char {
}
}

m = *minify.New()
m = minify.New()
m.Add("text/css", cssMinifier)
m.Add("text/html", htmlMinifier)
m.Add("image/svg+xml", svgMinifier)
Expand Down Expand Up @@ -164,4 +164,9 @@ func minifyFile(cmediatype, cinput, coutput *C.char) *C.char {
return nil
}

//export minifyCleanup
func minifyCleanup() {
os.Exit(0)
}

func main() {}
3 changes: 1 addition & 2 deletions bindings/py/minify.c
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,6 @@ static struct PyModuleDef minifymodule = {
};

PyMODINIT_FUNC
PyInit_minify(void)
{
PyInit_minify(void) {
return PyModule_Create(&minifymodule);
}
4 changes: 2 additions & 2 deletions bindings/py/minify.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import (
"github.com/tdewolff/parse/v2/buffer"
)

var m minify.M
var m *minify.M

func init() {
minifyConfig(nil, nil, 0)
Expand Down Expand Up @@ -110,7 +110,7 @@ func minifyConfig(ckeys **C.char, cvals **C.char, length C.longlong) *C.char {
}
}

m = *minify.New()
m = minify.New()
m.Add("text/css", cssMinifier)
m.Add("text/html", htmlMinifier)
m.Add("image/svg+xml", svgMinifier)
Expand Down

0 comments on commit eeb7be4

Please sign in to comment.