ocpasswd: ensure there are no leaks

This commit is contained in:
Nikos Mavrogiannopoulos
2015-11-06 15:08:05 +01:00
parent d2dd7f124f
commit 14faa4f100

View File

@@ -355,6 +355,7 @@ int main(int argc, char **argv)
int ret, optct; int ret, optct;
const char *username, *groupname, *fpasswd; const char *username, *groupname, *fpasswd;
char* passwd; char* passwd;
unsigned free_passwd = 0;
size_t l, i; size_t l, i;
if ((ret = gnutls_global_init()) < 0) { if ((ret = gnutls_global_init()) < 0) {
@@ -425,11 +426,14 @@ int main(int argc, char **argv)
exit(1); exit(1);
} }
free_passwd = 1;
if (passwd[l-1] == '\n') if (passwd[l-1] == '\n')
passwd[l-1] = 0; passwd[l-1] = 0;
} }
crypt_int(fpasswd, username, groupname, passwd); crypt_int(fpasswd, username, groupname, passwd);
if (free_passwd)
free(passwd);
} }
gnutls_global_deinit(); gnutls_global_deinit();