Browse Source

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

Sebastian Jackel 10 năm trước cách đây
mục cha
commit
0bfbefc38a
1 tập tin đã thay đổi với 5 bổ sung3 xóa
  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
 }