浏览代码

Moved defer f.Close() up so there is no chance of returning without closing and handled an error on f.Chmod

Sebastian Jackel 10 年之前
父节点
当前提交
0bfbefc38a
共有 1 个文件被更改,包括 5 次插入3 次删除
  1. 5 3
      models/publickey.go

+ 5 - 3
models/publickey.go

@@ -155,17 +155,19 @@ func saveAuthorizedKeyFile(key *PublicKey) error {
 	if err != nil {
 		return err
 	}
+	defer f.Close()
 	finfo, err := f.Stat()
 	if err != nil {
 		return err
 	}
 	if finfo.Mode().Perm() > 0600 {
 		log.Error(3, "authorized_keys file has unusual permission flags: %s - setting to -rw-------", finfo.Mode().Perm().String())
-		f.Chmod(0600)
+		err = f.Chmod(0600)
+		if err != nil {
+			return err
+		}
 	}
 
-	defer f.Close()
-
 	_, err = f.WriteString(key.GetAuthorizedString())
 	return err
 }