summaryrefslogtreecommitdiffstats
path: root/etc/inc/config.inc
diff options
context:
space:
mode:
authorBill Marquette <billm@pfsense.org>2008-05-17 19:02:08 +0000
committerBill Marquette <billm@pfsense.org>2008-05-17 19:02:08 +0000
commit90d32f5d62aea9f8964fa96be67828afc79b8cdb (patch)
treefb270d5bad9f56a33328758f3861f9d16c194693 /etc/inc/config.inc
parent7b6f313392f8ebea65803d66882287b031555425 (diff)
downloadpfsense-90d32f5d62aea9f8964fa96be67828afc79b8cdb.zip
pfsense-90d32f5d62aea9f8964fa96be67828afc79b8cdb.tar.gz
MFC of changeset [22584]
Atomic file writing Patch-by: David Rees
Diffstat (limited to 'etc/inc/config.inc')
-rw-r--r--etc/inc/config.inc12
1 files changed, 3 insertions, 9 deletions
diff --git a/etc/inc/config.inc b/etc/inc/config.inc
index f38cfc1..e5fbf38 100644
--- a/etc/inc/config.inc
+++ b/etc/inc/config.inc
@@ -1061,11 +1061,9 @@ function write_config($desc="Unknown", $backup = true) {
conf_mount_rw();
/* write new configuration */
- $fd = fopen("{$g['cf_conf_path']}/config.xml", "w");
- if (!$fd)
+ if (!safe_write_file("{$g['cf_conf_path']}/config.xml", $xmlconfig, false)) {
die("Unable to open {$g['cf_conf_path']}/config.xml for writing in write_config()\n");
- fwrite($fd, $xmlconfig);
- fclose($fd);
+ }
if($g['platform'] == "embedded") {
cleanup_backupcache(5);
@@ -1082,11 +1080,7 @@ function write_config($desc="Unknown", $backup = true) {
$config = parse_xml_config("{$g['conf_path']}/config.xml", $g['xml_rootobj']);
/* write config cache */
- $fd = @fopen("{$g['tmp_path']}/config.cache", "wb");
- if ($fd) {
- fwrite($fd, serialize($config));
- fclose($fd);
- }
+ safe_write_file("{$g['tmp_path']}/config.cache", serialize($config), true);
/* tell kernel to sync fs data */
mwexec("/bin/sync");
OpenPOWER on IntegriCloud