public inbox for lvm2-cvs@sourceware.org help / color / mirror / Atom feed
From: zkabelac@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2/libdm libdm-common.c Date: Wed, 25 Jan 2012 21:47:00 -0000 [thread overview] Message-ID: <20120125214718.29653.qmail@sourceware.org> (raw) CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: zkabelac@sourceware.org 2012-01-25 21:47:18 Modified files: libdm : libdm-common.c Log message: Fix resource leak of file handle Introduces when added dm_device_get_name. Close file handle in all error paths. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/libdm-common.c.diff?cvsroot=lvm2&r1=1.133&r2=1.134 --- LVM2/libdm/libdm-common.c 2012/01/17 14:36:58 1.133 +++ LVM2/libdm/libdm-common.c 2012/01/25 21:47:18 1.134 @@ -1189,7 +1189,8 @@ static int _sysfs_get_dm_name(uint32_t major, uint32_t minor, char *buf, size_t buf_size) { char *sysfs_path, *temp_buf; - FILE *fp; + FILE *fp = NULL; + int r = 0; if (!(sysfs_path = dm_malloc(PATH_MAX)) || !(temp_buf = dm_malloc(PATH_MAX))) { @@ -1219,23 +1220,21 @@ } temp_buf[strlen(temp_buf) - 1] = '\0'; - if (fclose(fp)) - log_sys_error("fclose", sysfs_path); - if (buf_size < strlen(temp_buf) + 1) { log_error("_sysfs_get_dm_name: supplied buffer too small"); goto error; } strncpy(buf, temp_buf, buf_size); - dm_free(sysfs_path); - dm_free(temp_buf); - return 1; - + r = 1; error: + if (fp && fclose(fp)) + log_sys_error("fclose", sysfs_path); + dm_free(sysfs_path); dm_free(temp_buf); - return 0; + + return r; } static int _sysfs_get_kernel_name(uint32_t major, uint32_t minor, char *buf, size_t buf_size)
next reply other threads:[~2012-01-25 21:47 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-01-25 21:47 zkabelac [this message] -- strict thread matches above, loose matches on Subject: below -- 2012-02-13 14:39 zkabelac 2011-09-24 11:47 prajnoha 2011-07-08 15:34 agk 2011-07-05 16:17 agk 2011-06-28 9:24 agk 2011-03-02 8:40 zkabelac 2010-12-13 12:44 prajnoha 2010-12-13 12:30 prajnoha 2010-12-13 12:18 prajnoha 2010-11-29 10:11 zkabelac 2009-09-25 19:06 agk 2009-09-25 18:19 agk 2009-09-25 18:13 agk 2009-09-11 16:11 prajnoha 2009-09-11 15:57 prajnoha 2009-08-06 15:00 prajnoha 2009-08-05 19:50 agk 2009-08-03 18:33 agk 2009-08-03 11:01 agk 2009-07-31 16:57 agk
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20120125214718.29653.qmail@sourceware.org \ --to=zkabelac@sourceware.org \ --cc=lvm-devel@redhat.com \ --cc=lvm2-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).