pki: fix out-of-bound error when a symlink directory doesn't contain a serial
This commit is contained in:
parent
024d34f0e4
commit
11e0b46034
1 changed files with 5 additions and 2 deletions
|
@ -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)
|
||||
}
|
||||
|
|
Reference in a new issue