Fix some memory leaks (thanks to okozina).

git-svn-id: https://cryptsetup.googlecode.com/svn/trunk@610 36d66b0a-2a48-0410-832c-cd162a569da5
This commit is contained in:
Milan Broz
2011-09-21 22:42:18 +00:00
parent 963ee0e6ee
commit 538169fb5b
3 changed files with 17 additions and 3 deletions

View File

@@ -169,7 +169,7 @@ char *crypt_lookup_dev(const char *dev_id)
static int crypt_sysfs_get_major_minor(const char *kname, int *major, int *minor)
{
char path[PATH_MAX], tmp[64];
char path[PATH_MAX], tmp[64] = {0};
int fd, r = 0;
if (snprintf(path, sizeof(path), "/sys/block/%s/dev", kname) < 0)
@@ -180,7 +180,11 @@ static int crypt_sysfs_get_major_minor(const char *kname, int *major, int *minor
r = read(fd, tmp, sizeof(tmp));
close(fd);
if (r <= 0 || sscanf(tmp, "%d:%d", major, minor) != 2)
if (r <= 0)
return 0;
tmp[63] = '\0';
if (sscanf(tmp, "%d:%d", major, minor) != 2)
return 0;
return 1;