diff options
-rw-r--r-- | src/ChangeLog | 6 | ||||
-rw-r--r-- | src/fileio.c | 7 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 6b5b6e1455d..0834ab9111e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2012-09-14 Andreas Schwab <schwab@linux-m68k.org> + + * fileio.c (Ffile_selinux_context): Only call freecon when + lgetfilecon succeeded. + (Fset_file_selinux_context): Likewise. (Bug#12444) + 2012-09-12 Eli Zaretskii <eliz@gnu.org> * xdisp.c (try_window_reusing_current_matrix): Under bidi diff --git a/src/fileio.c b/src/fileio.c index 3b8ed143005..c5979293feb 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -2841,9 +2841,8 @@ or if SELinux is disabled, or if Emacs lacks SELinux support. */) if (context_range_get (context)) values[3] = build_string (context_range_get (context)); context_free (context); + freecon (con); } - if (con) - freecon (con); } #endif @@ -2920,12 +2919,10 @@ compiled with SELinux support. */) report_file_error ("Doing lsetfilecon", Fcons (absname, Qnil)); context_free (parsed_con); + freecon (con); } else report_file_error ("Doing lgetfilecon", Fcons (absname, Qnil)); - - if (con) - freecon (con); } #endif |