Browse Source

fixed nil pointer from dereference in loop

0xdcarns 2 years ago
parent
commit
d8c7ab980e
2 changed files with 6 additions and 6 deletions
  1. 3 2
      controllers/enrollmentkeys.go
  2. 3 4
      logic/enrollmentkey.go

+ 3 - 2
controllers/enrollmentkeys.go

@@ -40,13 +40,14 @@ func getEnrollmentKeys(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 	for i := range currentKeys {
-		if err = logic.Tokenize(&currentKeys[i], servercfg.GetServer()); err != nil {
+		currentKey := currentKeys[i]
+		if err = logic.Tokenize(currentKey, servercfg.GetServer()); err != nil {
 			logger.Log(0, r.Header.Get("user"), "failed to get token values for keys:", err.Error())
 			logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
 			return
 		}
 	}
-	// return JSON/API formatted hosts
+	// return JSON/API formatted keys
 	logger.Log(2, r.Header.Get("user"), "fetched enrollment keys")
 	w.WriteHeader(http.StatusOK)
 	json.NewEncoder(w).Encode(currentKeys)

+ 3 - 4
logic/enrollmentkey.go

@@ -65,14 +65,14 @@ func CreateEnrollmentKey(uses int, expiration time.Time, networks, tags []string
 }
 
 // GetAllEnrollmentKeys - fetches all enrollment keys from DB
-func GetAllEnrollmentKeys() ([]models.EnrollmentKey, error) {
+func GetAllEnrollmentKeys() ([]*models.EnrollmentKey, error) {
 	currentKeys, err := getEnrollmentKeysMap()
 	if err != nil {
 		return nil, err
 	}
-	var currentKeysList = make([]models.EnrollmentKey, 0)
+	var currentKeysList = []*models.EnrollmentKey{}
 	for k := range currentKeys {
-		currentKeysList = append(currentKeysList, *currentKeys[k])
+		currentKeysList = append(currentKeysList, currentKeys[k])
 	}
 	return currentKeysList, nil
 }
@@ -130,7 +130,6 @@ func Tokenize(k *models.EnrollmentKey, serverAddr string) error {
 	}
 	k.Token = b64.StdEncoding.EncodeToString(data)
 	return nil
-
 }
 
 // DeTokenize - detokenizes a base64 encoded string