case di_enterrepodata: di_enterrepodata:
if (di->repodataid >= 0)
- di->data = di->repo->repodata + di->repodataid;
+ {
+ if (di->repodataid >= di->repo->nrepodata)
+ goto di_nextsolvable;
+ di->data = di->repo->repodata + di->repodataid;
+ }
if (!maybe_load_repodata(di->data, di->keyname))
goto di_nextrepodata;
di->dp = solvid2data(di->data, di->solvid, &schema);
goto di_enterrepodata;
/* FALLTHROUGH */
- case di_nextsolvable:
+ case di_nextsolvable: di_nextsolvable:
if (!(di->flags & SEARCH_THISSOLVID))
{
if (di->solvid < 0)