Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_desklock.c e_ipc_codec.c Log Message: maxime's leak fix patches =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_desklock.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- e_desklock.c 8 Jun 2006 19:11:54 -0000 1.15 +++ e_desklock.c 20 Jun 2006 11:35:14 -0000 1.16 @@ -583,19 +583,29 @@ /* child */ int pamerr; E_Desklock_Auth da; - - strncpy(da.user, _desklock_auth_get_current_user(), PATH_MAX); + char *current_user; + + strncpy(da.user, current_user, PATH_MAX); strncpy(da.passwd, passwd, PATH_MAX); da.pam.handle = NULL; da.pam.conv.conv = NULL; da.pam.conv.appdata_ptr = NULL; pamerr = _desklock_pam_init(&da); - if (pamerr != PAM_SUCCESS) exit(pamerr); + if (pamerr != PAM_SUCCESS) + { + free(current_user); + exit(pamerr); + } pamerr = pam_authenticate(da.pam.handle, 0); pam_end(da.pam.handle, pamerr); memset(da.passwd, 0, sizeof(da.passwd)); - if (pamerr == PAM_SUCCESS) exit(0); + if (pamerr == PAM_SUCCESS) + { + free(current_user); + exit(0); + } + free(current_user); exit(-1); } return 1; @@ -616,6 +626,8 @@ _desklock_pam_init(E_Desklock_Auth *da) { int pamerr; + char *current_host; + char *current_user; if (!da) return -1; @@ -626,15 +638,27 @@ if ((pamerr = pam_start("system-auth", da->user, &(da->pam.conv), &(da->pam.handle))) != PAM_SUCCESS) return pamerr; - + + current_user = _desklock_auth_get_current_user(); + if ((pamerr = pam_set_item(da->pam.handle, PAM_USER, - _desklock_auth_get_current_user())) != PAM_SUCCESS) - return pamerr; + current_user)) != PAM_SUCCESS) + { + free(current_user); + return pamerr; + } + current_host = _desklock_auth_get_current_host(); if ((pamerr = pam_set_item(da->pam.handle, PAM_RHOST, - _desklock_auth_get_current_host())) != PAM_SUCCESS) - return pamerr; + current_host)) != PAM_SUCCESS) + { + free(current_user); + free(current_host); + return pamerr; + } + free(current_user); + free(current_host); return 0; } =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_ipc_codec.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- e_ipc_codec.c 30 Apr 2006 11:54:04 -0000 1.16 +++ e_ipc_codec.c 20 Jun 2006 11:35:15 -0000 1.17 @@ -155,10 +155,14 @@ E_CONFIG_DD_FREE(_e_ipc_2str_int_list_edd); E_CONFIG_DD_FREE(_e_ipc_4int_2str_edd); E_CONFIG_DD_FREE(_e_ipc_4int_2str_list_edd); + E_CONFIG_DD_FREE(_e_ipc_5int_2str_edd); + E_CONFIG_DD_FREE(_e_ipc_5int_2str_list_edd); E_CONFIG_DD_FREE(_e_ipc_3int_4str_edd); E_CONFIG_DD_FREE(_e_ipc_3int_4str_list_edd); E_CONFIG_DD_FREE(_e_ipc_3int_3str_edd); E_CONFIG_DD_FREE(_e_ipc_3int_3str_list_edd); + E_CONFIG_DD_FREE(_e_ipc_str_4int_edd); + E_CONFIG_DD_FREE(_e_ipc_str_4int_list_edd); } EAPI int _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs