fixed potential out of bounds

This commit is contained in:
2022-08-13 22:03:16 +02:00
parent 8ff928d7fa
commit b48c75a177
2 changed files with 38 additions and 35 deletions

View File

@@ -329,9 +329,10 @@ func (b *BuildManager) refreshSRCINFOs(ctx context.Context, path string) error {
cur := 0
wg := sync.WaitGroup{}
for i := 0; i < runtime.NumCPU(); i++ {
if cur+step > len(pkgBuilds) {
step -= cur + step - len(pkgBuilds)
if i == runtime.NumCPU()-1 {
step = len(pkgBuilds) - cur
}
wg.Add(1)
go func(pkgBuilds []string) {
defer wg.Done()

View File

@@ -568,41 +568,43 @@ func housekeeping(repo string, march string, wg *sync.WaitGroup) error {
}
}
// check queued packages for eligibility
log.Debugf("[HK/%s] check queued packages", fullRepo)
qPackages, err := db.DbPackage.Query().Where(
dbpackage.And(
dbpackage.RepositoryEQ(dbpackage.Repository(repo)),
dbpackage.March(march),
dbpackage.StatusEQ(dbpackage.StatusQueued),
)).All(context.Background())
if err != nil {
return err
}
for _, dbPkg := range qPackages {
pkg := &ProtoPackage{
Pkgbase: dbPkg.Pkgbase,
Repo: dbPkg.Repository,
FullRepo: dbPkg.Repository.String() + "-" + dbPkg.March,
DbPackage: dbPkg,
March: dbPkg.March,
}
var upstream string
switch pkg.DbPackage.Repository {
case dbpackage.RepositoryCore, dbpackage.RepositoryExtra:
upstream = "upstream-core-extra"
case dbpackage.RepositoryCommunity:
upstream = "upstream-community"
}
pkg.Pkgbuild = filepath.Join(conf.Basedir.Work, upstreamDir, upstream, dbPkg.Pkgbase, "repos", pkg.DbPackage.Repository.String()+"-"+conf.Arch, "PKGBUILD")
_, err := pkg.isEligible(context.Background())
/*
// check queued packages for eligibility
log.Debugf("[HK/%s] check queued packages", fullRepo)
qPackages, err := db.DbPackage.Query().Where(
dbpackage.And(
dbpackage.RepositoryEQ(dbpackage.Repository(repo)),
dbpackage.March(march),
dbpackage.StatusEQ(dbpackage.StatusQueued),
)).All(context.Background())
if err != nil {
log.Warningf("[HK/%s] unable to determine status for %s: %v", fullRepo, dbPkg.Pkgbase, err)
return err
}
}
for _, dbPkg := range qPackages {
pkg := &ProtoPackage{
Pkgbase: dbPkg.Pkgbase,
Repo: dbPkg.Repository,
FullRepo: dbPkg.Repository.String() + "-" + dbPkg.March,
DbPackage: dbPkg,
March: dbPkg.March,
}
var upstream string
switch pkg.DbPackage.Repository {
case dbpackage.RepositoryCore, dbpackage.RepositoryExtra:
upstream = "upstream-core-extra"
case dbpackage.RepositoryCommunity:
upstream = "upstream-community"
}
pkg.Pkgbuild = filepath.Join(conf.Basedir.Work, upstreamDir, upstream, dbPkg.Pkgbase, "repos", pkg.DbPackage.Repository.String()+"-"+conf.Arch, "PKGBUILD")
_, err := pkg.isEligible(context.Background())
if err != nil {
log.Warningf("[HK/%s] unable to determine status for %s: %v", fullRepo, dbPkg.Pkgbase, err)
}
}
*/
log.Debugf("[HK/%s] all tasks finished", fullRepo)
return nil