The reason is, without argument pam_service set in configuration, the call free(home_param.pam_service) in home_clean(void) crash.
To fix change:
home_param.pam_service = "other";
to
home_param.pam_service = strdup("other");
in home_init(char *file).
Bye
Thanks a lot for the patch.
I will test that and commit it.