Leggendo il codice sorgente per Instant
di classe, mi sono imbattuto in questo metodoChe cosa significa il metodo Instant.readObject "Difendi [s] contro flussi dannosi"?
/**
* Defend against malicious streams.
*
* @param s the stream to read
* @throws InvalidObjectException always
*/
private void readObject(ObjectInputStream s) throws InvalidObjectException {
throw new InvalidObjectException("Deserialization via serialization delegate");
}
La descrizione mi ha incuriosito. Che cos'è un "flusso malevolo"? E come si difende questo metodo contro di esso?
A "flusso dannoso" è uno che avrebbe fatto un decoder ingenuo fare qualcosa di brutto come allocare un enorme quantità di memoria o crash. –
Perché non postare una risposta? Sembra un argomento interessante –
Si noti che non è specifico per 'Instant'. 'LocalDateTime',' LocalDate' e altri hanno anche questo. – Tunaki