{"push_id":754984690,"size":15,"distinct_size":14,"ref":"refs/heads/coverity_scan","head":"a9d4c3e3b6a22db92d58959f0797e8f842ba7696","before":"64e37814eadaa1bb528686861025381d8bf2269d","commits":[{"sha":"0d384b24213ed8799a2e75cff9a5a4d81ffaf11a","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"shutdown warnings reported by Clang static analyzer","distinct":false,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/0d384b24213ed8799a2e75cff9a5a4d81ffaf11a"},{"sha":"0bc81a2881773018453df62702e579b1782e8d04","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"TCP profile: simplify the parsing of CO packets\n\nThe function d_tcp_parse_CO() parses the CO packets. This function is\nlarge. This makes it difficult to read. This change splits the function\nin many smaller function, one per CO packet type. This makes GNU\ncomplexity happy :)","distinct":true,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/0bc81a2881773018453df62702e579b1782e8d04"},{"sha":"442f639ba18df3193d9a01e532541c6a337d1f3b","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"add test for fuzzing of the ROHC decompression\n\nThe non_regression test is ideal for fuzzing the ROHC compression for\nrobustness and also the whole compression/decompression process for\nend-to-end correctness. However this test does not allow to fuzz the\nROHC decompression for robustness.\n\nSo, this change alters the robustness test 'malformed_rohc_packets' to\nease fuzzing the ROHC decompression.\n\nPrepare for bug fixes as soon as AFL will find a problem!","distinct":true,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/442f639ba18df3193d9a01e532541c6a337d1f3b"},{"sha":"bbc11d95aa468f10be4bdde8800b4c70dcceeb38","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"handle decompression failure during transition from 1 to 2 IP headers\n\nThe transition between 1 to 2 IP headers (or the reverse transition) was\nalready handled by the ROHC decompressor since ages. However, a special\ncase was not.\n\nIf the decompressor fails to decompress the packet that changes the\nnumber of IP headers, the decompression context is updated any way and\nthe decompression of the next packet may fail because of this bad\nupdate.\n\nThis change defers the context update until the decompression is deemed\nsuccessful.\n\nThe problem was detected with AFL. A robustness test was added.","distinct":true,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/bbc11d95aa468f10be4bdde8800b4c70dcceeb38"},{"sha":"36ad9ae1dc26a2c69dc1b60ae2559bfa90940a26","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"TCP profile: do not decode scaled sequence number if not initialized\n\nThe ROHC decompressor shall not try to decode some received bits of the\nscaled TCP sequence number if the decompressor never received the full\nvalue at least once. This change makes the decompression fails in such\na case.\n\nThe problem was detected by AFL. A robustness test was added.","distinct":true,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/36ad9ae1dc26a2c69dc1b60ae2559bfa90940a26"},{"sha":"4648f9cfb92a8a41611d197b8d55e8b47fb5c704","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"RFC3095: only RTP profile uses the x bit in the packet type byte\n\nThe packet type byte in the RFC3095 profiles contains one x bit that is\nprofile-specific. All of the profiles except the RTP profile define this\nx field as reserved (and set it to value 0). Only the RTP profile\ndefines this bit as the D flag to specify whether the dynamic chain is\npresent or not in the IR packet.\n\nThis change forces the x bit to 0 for all RFC3095 profiles except the\nRTP profile. Many reference captures for the non-regression tests\ntherefore change.","distinct":true,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/4648f9cfb92a8a41611d197b8d55e8b47fb5c704"},{"sha":"f997effda697412051bc7290b9b59a34cae3a547","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"RTP profile: accept 0 bit of SN for IR w/o dynamic chain\n\nThe ROHC compressor does not build nor send IR packets without a dynamic\nchain, although it is optional for the RTP profile. This leads to the\nROHC decompressor being under-tested for this kind of packets.\n\nThis change makes the decompressor accept to get 0 bit of SN retrieved\nfrom a ROHC packet since it is the case for IR packets w/o dynamic\nchain.\n\nThe problem was detected by AFL. Several robustness tests were added.\nOne of the tests doesn't fully succeed currently since another problem\nrelated to the UDP checksum occurs.","distinct":true,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/f997effda697412051bc7290b9b59a34cae3a547"},{"sha":"f1ef845e66e311c2835d59c906381d42537fc7b4","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"RTP profile: soft reject of packets with no UDP checksum bits\n\nThe ROHC compressor does not build nor send IR packets without a dynamic\nchain, although it is optional for the RTP profile. This leads to the\nROHC decompressor being under-tested for this kind of packets.\n\nThis change makes the decompressor rejects the ROHC packets that\ntransmit no bit of UDP checksum while the UDP checksum is not omitted.\nThis may be the case with IR packets w/o dynamic chain.\n\nThe problem was detected by AFL. A robustness test was added.","distinct":true,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/f1ef845e66e311c2835d59c906381d42537fc7b4"},{"sha":"52bcffb2313750cf986ae269d01c341bea277946","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"fuzzing: add option to disable CRC checks","distinct":true,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/52bcffb2313750cf986ae269d01c341bea277946"},{"sha":"ad69f5c362ad4d1c0b5d2685aac73b28be235d08","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"RFC3095: better handle transition from 1 to 2 IP headers\n\nAn assertion occured if a ROHC packet introduced a 2nd IP header w/o\nbits for the new IP header. The decompressor tried to retrieve the\ninformation from an uninitialized part of the context.\n\nThis change adds checks for context initialization before using the\ncontext information. If not initialized, decompression fails.\n\nDetected with AFL. Several robustness tests were added.","distinct":true,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/ad69f5c362ad4d1c0b5d2685aac73b28be235d08"},{"sha":"6133301658ee77d6993f4ee5829c2ac7f3374ba1","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"decompression: improve robustness of feedback parsing\n\nCheck for 2 bytes of available ROHC data before parsing the optional\nsize byte of the feedback header. The decompressor checked for 1 byte\nonly.\n\nProblem detected with AFL. A robustness test was added.","distinct":true,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/6133301658ee77d6993f4ee5829c2ac7f3374ba1"},{"sha":"aa19984572bd252f22049219c086a36d8f74f05b","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"RFC3095: better handle transition between IP versions\n\nAn assertion occured if a ROHC packet changed the version of the outer\nor inner IP header w/o bits for the v4- or v6-specific fields (ie. DF,\nNBO, RND, SID, IP-ID, Flow Label). The decompressor tried to retrieve\nthe information from an uninitialized part of the context.\n\nThis change adds checks for the 4-to-6 or 6-to-4 switch before using\nthe context information. If not initialized, decompression fails.\n\nDetected with AFL. A robustness test was added.","distinct":true,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/aa19984572bd252f22049219c086a36d8f74f05b"},{"sha":"72fc25f460d0c967ca820d992a4f824388e867e7","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"TCP profile: handle short irregular chain\n\nAn assertion occured if the decompressor tried to decompress a ROHC\npacket with a too short irregular chain.\n\nThis change correctly increments the counter of parsed bytes so that\nthe length checks are correct.\n\nDetected with AFL. A robustness test was added.","distinct":true,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/72fc25f460d0c967ca820d992a4f824388e867e7"},{"sha":"598386f8b38ccaae0ac76547e136f40aecd7877e","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"RTP profile: handle short extension 3 for UOR-2-TS packet\n\nA heap overflow occured if the decompressor tried to decompress a ROHC\nUOR-2-TS packet with a too short extension 3. The packet shall be long\nenough to contain the 1st byte of flags of the extension 3, but short\nenough not to contain the 2nd byte with the optional ip2 flag.\n\nThis change correctly checks the length of the ROHC packet before\nparsing the 2nd byte of flag.\n\nDetected with AFL. A robustness test was added.","distinct":true,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/598386f8b38ccaae0ac76547e136f40aecd7877e"},{"sha":"a9d4c3e3b6a22db92d58959f0797e8f842ba7696","author":{"email":"65d0f74bf4e86747987eb7d8353e2423639501dc@barvaux.org","name":"Didier Barvaux"},"message":"Uncompressed profile: do not create NACK feedback\n\nThe decompressor shall never send NACK or STATIC-NACK feedbacks for\nthe Uncompressed profile. The decompressor was doing so when receiving\na IR-DYN packet with profile ID set to 0x0000 without existing context.\n\nIn such a case, the decompressor checked the lack of existing context\nbefore the profile ID, and therefore transmitted a STATIC-NACK feedback.\nThis was done this way because for most of the packet types the profile\nID is known only if the context is found. This is however not true for\nIR and IR-DYN packets.\n\nProblem detected with AFL. A robustness test was added.","distinct":true,"url":"https://api.github.com/repos/didier-barvaux/rohc/commits/a9d4c3e3b6a22db92d58959f0797e8f842ba7696"}]}