From 90acbcedb071b571fe7899715918b3de9b2a822d Mon Sep 17 00:00:00 2001 From: DanB Date: Fri, 9 Sep 2016 19:04:51 +0200 Subject: [PATCH] LCR Fix for nil cached keys --- engine/calldesc.go | 2 +- engine/ratingprofile.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/engine/calldesc.go b/engine/calldesc.go index d945f8447..1ad994785 100644 --- a/engine/calldesc.go +++ b/engine/calldesc.go @@ -953,7 +953,7 @@ func (cd *CallDescriptor) GetLCRFromStorage() (*LCR, error) { for _, key := range keyVariants { if lcr, err := ratingStorage.GetLCR(key, false, utils.NonTransactional); err != nil && err != utils.ErrNotFound { return nil, err - } else if err == nil { + } else if err == nil && lcr != nil { return lcr, nil } } diff --git a/engine/ratingprofile.go b/engine/ratingprofile.go index db86df981..cfd90696c 100644 --- a/engine/ratingprofile.go +++ b/engine/ratingprofile.go @@ -259,7 +259,7 @@ func RatingProfileSubjectPrefixMatching(key string) (rp *RatingProfile, err erro return ratingStorage.GetRatingProfile(key, false, utils.NonTransactional) } if rp, err = ratingStorage.GetRatingProfile(key, false, utils.NonTransactional); err == nil && rp != nil { // rp nil represents cached no-result - return rp, err + return } lastIndex := strings.LastIndex(key, utils.CONCATENATED_KEY_SEP) baseKey := key[:lastIndex] @@ -267,7 +267,7 @@ func RatingProfileSubjectPrefixMatching(key string) (rp *RatingProfile, err erro lenSubject := len(subject) for i := 1; i < lenSubject-1; i++ { if rp, err = ratingStorage.GetRatingProfile(baseKey+subject[:lenSubject-i], false, utils.NonTransactional); err == nil && rp != nil { - return rp, err + return } } return