Fatti
Il 19 novembre 2010, il Tribunale distrettuale di Zurigo ha condannato [A.] a tre anni di reclusione per reati sessuali multipli. Allo stesso tempo, il tribunale ha ordinato un trattamento ambulatoriale accompagnato dall'esecuzione della pena. Il Tribunale superiore ha confermato la sentenza, ma ha ordinato una misura terapeutica stazionaria e ha sospeso l'esecuzione della pena detentiva a favore di questa misura.
Con un'istanza del 17 giugno 2016, l'Ufficio per l'esecuzione delle pene del Cantone di Zurigo ha richiesto la proroga della misura stazionaria. Di conseguenza, [A.] è stato posto in custodia cautelare. Il 19 dicembre 2016, l'Ufficio per l'esecuzione delle pene ha revocato la misura stazionaria e ha richiesto invece un ricovero.
Con sentenza del 26 gennaio 2017, il Tribunale distrettuale ha nuovamente ordinato una misura terapeutica stazionaria per tre anni. Contro questa sentenza, [A.] ha presentato ricorso al Tribunale superiore. Fino all'eventuale inizio della misura, al massimo fino al 26 aprile 2017, [A.] è rimasto in custodia cautelare.
Il 9 giugno 2017, [A.] ha chiesto al Tribunale superiore la scarcerazione immediata, in quanto il termine di custodia fissato dal Tribunale distrettuale era scaduto. Il Tribunale superiore ha respinto la richiesta e ha ordinato il proseguimento della custodia cautelare per la durata del procedimento successivo pendente.
Legge
Il Tribunale federale ha stabilito che la detenzione di [A.] tra il 27 aprile e il 12 giugno 2017 era formalmente illegittima, in quanto in quel periodo non esisteva un titolo di detenzione valido. Il Tribunale distrettuale e il Tribunale superiore non avevano preso alcuna decisione sulla proroga o la revoca della custodia cautelare in quel periodo.
Tuttavia, la temporanea mancanza di un titolo di detenzione nel…