diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-07-01 13:46:40 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-07-01 13:46:40 +0200 |
commit | 50985d78c0372994c0a60f04b289dc7fdc5b66ed (patch) | |
tree | 73c782533878ae3849bc89a9a15770d2570757ed | |
parent | cde75bd31b5493f5f912331a88061d30a34cd746 (diff) |
fix fail path
-rw-r--r-- | smart.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1176,12 +1176,12 @@ int sk_disk_open(const char *name, SkDisk **_d) { if (!(d = calloc(1, sizeof(SkDisk)))) { errno = ENOMEM; - return -1; + goto fail; } if (!(d->name = strdup(name))) { errno = ENOMEM; - return -1; + goto fail; } if ((d->fd = open(name, O_RDWR|O_NOCTTY)) < 0) { @@ -1194,6 +1194,7 @@ int sk_disk_open(const char *name, SkDisk **_d) { if (!S_ISBLK(st.st_mode)) { errno = ENODEV; + ret = -1; goto fail; } @@ -1204,6 +1205,7 @@ int sk_disk_open(const char *name, SkDisk **_d) { if (d->size <= 0 || d->size == (uint64_t) -1) { errno = EIO; + ret = -1; goto fail; } |