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 years ago
parent
commit
0bfbefc38a
1 changed files with 5 additions and 3 deletions
  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
 }