فهرست منبع

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
 }