Jon Steege created VALIDATOR-365:
------------------------------------
Summary: An arbitrarily large email string causes
stackoverflowerror in EmailValidator.isValid()
Key: VALIDATOR-365
URL: https://issues.apache.org/jira/browse/VALIDATOR-365
Project: Commons Validator
Issue Type: Bug
Reporter: Jon Steege
RFC-3696 defines a limit to the length of an email address. The local part is
limited to 64 characters.
Providing an arbitrarily long local segment to a string that is passed to
EmailValidator.isValid() can cause the function to overflow the stack.
{code}
groovy:000> test = new EmailValidator(false)
===> org.apache.commons.validator.routines.EmailValidator@2256a2bd
groovy:000>
test.isValid("loremipsumdolorsitametconsecteturadipiscingelit.nullavitaeligulamattisrhoncusnuncegestasmattisleo.donecnonsapieninmagnatristiquedictumaacturpis.fusceorciduifacilisisutsapieneuconsequatpharetralectus.quisqueenimestpulvinarutquamvitaeportamattisex.nullamquismaurisplaceratconvallisjustoquisportamauris.innullalacusconvalliseufringillautvenenatissitametdiam.maecenasluctusligulascelerisquepulvinarfeugiat.sedmolestienullaaliquetorciluctusidpharetranislfinibus.suspendissemalesuadatinciduntduisitametportaarcusollicitudinnec.donecetmassamagna.curabitururnadiampretiumveldignissimporttitorfringillaeuneque.duisantetelluspharetraidtinciduntinterdummolestiesitametfelis.utquisquamsitametantesagittisdapibusacnonodio.namrutrummolestiediamidmattis.cumsociisnatoquepenatibusetmagnisdisparturientmontesnasceturridiculusmus.morbiposueresedmetusacconsectetur.etiamquisipsumvitaejustotempusmaximus.sedultriciesplaceratvolutpat.integerlacuslectusmaximusacornarequissagittissitametjusto.cumsociisnatoquepenatibusetmagnisdisparturientmontesnasceturridiculusmus.maecenasindictumpurussedrutrumex.nullafacilisi.integerfinibusfinibusmietpharetranislfaucibusvel.maecenasegetdolorlacinialobortisjustovelullamcorpersem.vivamusaliquetpurusidvariusornaresapienrisusrutrumnisitinciduntmollissemnequeidmetus.etiamquiseleifendpurus.nuncfelisnuncscelerisqueiddignissimnecfinibusalibero.nuncsemperenimnequesitamethendreritpurusfacilisisac.maurisdapibussemperfelisdignissimgravida.aeneanultricesblanditnequealiquamfinibusodioscelerisqueac.aliquamnecmassaeumaurisfaucibusfringilla.etiamconsequatligulanisisitametaliquamnibhtemporquis.nuncinterdumdignissimnullaatsodalesarcusagittiseu.proinpharetrametusneclacuspulvinarsedvolutpatliberoornare.sedligulanislpulvinarnonlectuseublanditfacilisisante.sedmollisnislalacusauctorsuscipit.inhachabitasseplateadictumst.phasellussitametvelittemporvenenatisfeliseuegestasrisus.aliquameteratsitametnibhcommodofinibus.morbiefficiturodiovelpulvinariaculis.aeneantemporipsummassaaconsecteturturpisfaucibusultrices.praesentsodalesmaurisquisportafermentum.etiamnisinislvenenatisvelauctorutullamcorperinjusto.proinvelligulaerat.phasellusvestibulumgravidamassanonfeugiat.maecenaspharetraeuismodmetusegetefficitur.suspendissea...@gmail.com");
ERROR java.lang.StackOverflowError:
null
{code}
This is using commons-validator 1.4.1.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)