pki: fix out-of-bound error when a symlink directory doesn't contain a serial

This commit is contained in:
nemunaire 2018-12-02 02:32:33 +01:00
parent 024d34f0e4
commit 11e0b46034

View file

@ -6,10 +6,13 @@ import (
"os"
"path"
"strconv"
"strings"
)
const SymlinkPrefix = "_AUTH_ID_"
func GetCertificateAssociation(serial uint64) string {
return fmt.Sprintf("_AUTH_ID_%0X", serial)
return fmt.Sprintf(SymlinkPrefix + "%0X", serial)
}
func GetAssociations(dirname string) (assocs []string, err error) {
@ -35,7 +38,7 @@ func GetTeamSerials(dirname string, id_team int64) (serials []uint64, err error)
} else {
for _, assoc := range assocs {
var tid string
if tid, err = os.Readlink(path.Join(dirname, assoc)); err == nil && tid == str_tid {
if tid, err = os.Readlink(path.Join(dirname, assoc)); err == nil && tid == str_tid && strings.HasPrefix(assoc, SymlinkPrefix) {
if serial, err := strconv.ParseUint(assoc[9:], 16, 64); err == nil {
serials = append(serials, serial)
}