[Rpm-maint] [rpm-software-management/rpm] Enhanced checks and a fuzz harness (#1559)

Demi Marie Obenour notifications at github.com
Thu Feb 25 08:53:41 UTC 2021


As mentioned in https://github.com/rpm-software-management/rpm/pull/1492#issuecomment-784950879,
adding individual checks here and there isn’t sufficient.  A more systematic approach is required.

The approach I came up with was

1. Replace the checks in `hdrblobImport` and `regionSwab` with assertions.  As mentioned in
   https://github.com/rpm-software-management/rpm/pull/1492#issuecomment-784950879, the data
   should have already been checked before `regionSwab` is called, and indeed I believe it should
   be checked before `hdrblobImport`.  Once these changes were made, I made `hdrblobImport` and
   `regionSwab` both return `void`.

2. Write a fuzz target for LLVM’s libfuzzer, and write scripts to perform the fuzzing with LLVM
   sanitizers enabled.  This triggered various runtime errors, mostly failed assertions and
   cases where an implicit conversion altered a value.

3. Add checks to `hdrblobInit` and `dataLength` to reject invalid inputs before they could
   trigger assertions.  Add casts where a value-changing conversion is intentional.

4. Re-run the RPM test suite.  This caught some cases where the new checks were incorrect.

5. Fix the code so that the tests passed.

6. Switch several fields in `struct hdrblob_s` to `uint32_t`.

7. Re-run the fuzz harness and fix the bugs that were found.

8. Make sure that the testsuite AND 50 million fuzzing rounds passed.

This PR is the result.  It has survived 50 million rounds of fuzzing
through libfuzzer, and if it is accepted, I plan to submit the fuzz
target to Google’s OSS-Fuzz.

You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/1559

-- Commit Summary --

  * Improve comment for offset check
  * Avoid integer overflow in dataLength()
  * hdrblobInit() needs bounds checks too
  * Add fuzz target
  * Avoid undefined shifts
  * Move all header validity checks to hdrblobInit()
  * Fuzz harness

-- File Changes --

    M build/rpmbuild.h (2)
    M build/rpmfc.h (2)
    M configure.ac (13)
    A corpus-header/0012a18eb5a1829562d142b1d0df2208b2feae54 (0)
    A corpus-header/0012a8bb4aff0b4184f681ca1250c93cb981707e (0)
    A corpus-header/0021de2f2256d8137d7a9d4784b61a245c14808d (0)
    A corpus-header/002b3f1994e2d004ecae6d974977d909ae81b989 (0)
    A corpus-header/003a99533ebc27010be43f2ce788e208adc0a271 (0)
    A corpus-header/0047334b950cba7f3971bfaceb3429c89659a63f (0)
    A corpus-header/0048b9bebfbaa8fb69dc9b8ba09d44e2418c153e (0)
    A corpus-header/0058bfe8b30766cfcd51aad277eb85e34420df6c (0)
    A corpus-header/0059b986751b269d9cd2bf954d5154f34f255d6d (0)
    A corpus-header/00609b32c1f35ed4bc43beb9755af18566beee35 (0)
    A corpus-header/006867beb3e83884f3d9ca763cbae41b2d3cfe81 (0)
    A corpus-header/006bd3843f543be300fc4e513689de99a66ed8f7 (0)
    A corpus-header/0072738a21721bb7bf8b321f898847f046151fe8 (0)
    A corpus-header/0090379a88d087e1c225140a91a876c7383e0511 (0)
    A corpus-header/0095bbd8278122071b55ccff3b034c16b6d835c7 (0)
    A corpus-header/00a7d84b94e3f22dff35f856c5f0ef61cd61fc8e (0)
    A corpus-header/00aafee2f73438cdc683446658027cf79430410f (0)
    A corpus-header/00b01a04ad3f33ce24e2bd5d24501a0a39f40901 (0)
    A corpus-header/00c0cd24be16df2119ee5c1d74d13408e47736c0 (0)
    A corpus-header/00c9f01b4852848b5e0f287b3c417ec072ccd95d (0)
    A corpus-header/00e94e99400f7d409663ccc09a36fb0a048fe8db (0)
    A corpus-header/00ef1f858ba8010846b76f5f7cdedaacf85a7745 (0)
    A corpus-header/00f0293140d1655e71894dffa5dae990ce1e7b85 (0)
    A corpus-header/00fd9bad86655518803329bb6478267a38c87569 (0)
    A corpus-header/00ff30df59c00b675694d7b71073b92ee0aca18c (0)
    A corpus-header/0102ca514eb01cab0bf9f6f30ceab7e41180b943 (0)
    A corpus-header/0109b3da194c1d45600b48e7dc474c2a4ba9d26d (0)
    A corpus-header/010d96ac8f1a399f5482e44eb716d62928e52d11 (0)
    A corpus-header/010ff3ac07826cdf1ce0d393ed859a088a31a7a4 (0)
    A corpus-header/011bc817fce14690094c2c60577d1eea1cf9703b (0)
    A corpus-header/011f170b7eaa72f889bcbf4a82c8caa447adbf64 (0)
    A corpus-header/01218140449f71b1d6185e29226a800598a7032e (0)
    A corpus-header/01473b0b064454bc38903dcd338b64dcb81f1f8c (0)
    A corpus-header/016525b43dd800fdff68ce30abe03c9674dc91a6 (0)
    A corpus-header/016d4a88c52e40170f88ef688079f314f7e36dea (0)
    A corpus-header/018bb35f454f38b755c0249f520d86baf067051d (0)
    A corpus-header/018caa43d5059cc1d8aa91286c0e52728d9c4f00 (0)
    A corpus-header/019c723591f51bda33bfd8fc2227cf2799004380 (0)
    A corpus-header/01a5aea34bc1cad2f765fffb33b408e5e8660d57 (0)
    A corpus-header/01aa0291fb7c726e2a87ab60742b72c156b716db (0)
    A corpus-header/01abce5f3c3942aff51c7749287453dfadcf5da5 (0)
    A corpus-header/01acb1b0130a0c491ebec0ec8bd1f1ac0ed438ad (0)
    A corpus-header/01b02bf327bdf8b302895f90e880c09204857618 (0)
    A corpus-header/01b3ad03e58cb9f9f4ae3a83eea4f0d850c65d3e (0)
    A corpus-header/01c49fc4848124207df63bba1d8d09467423ebe5 (0)
    A corpus-header/01d5ed3cef8e3323beb3bf3328c2f1542dd2d353 (0)
    A corpus-header/01d9612d10cef1ae8862d2b5c81a4c7ce06ac304 (0)
    A corpus-header/01e69ac0f959aeb98c9fb5158d85de5a753c9584 (0)
    A corpus-header/01e766b3a5ecaf3244cd1fea6efc6e5998b23656 (0)
    A corpus-header/01e8677cb01c4ee9aca7e3f56ebb726cf68aca7d (0)
    A corpus-header/01e9c07823ad24e2c90fca59a6536cd6849ff5d5 (0)
    A corpus-header/01f1db3ef7e59d0acef7c367f7cb743080eb211a (0)
    A corpus-header/01f8b5efd3375f29617ea8b6066fc9e47eb930d5 (0)
    A corpus-header/01fff295ac6d472fa5e6bc31eea81df1b4b3ec13 (0)
    A corpus-header/02055a64f995aa5885317ebf193fa57fa5c0af85 (0)
    A corpus-header/02074e94277b6a24d3bbb512727e9c9a69760dce (0)
    A corpus-header/020f2d28216d7bb362d08453a2504acd4201b6c3 (0)
    A corpus-header/022e87643321245902cfd2e14c5af2d1fc2d6b8d (0)
    A corpus-header/023462dfb35b111b00c9671f9aa2003af58591ad (0)
    A corpus-header/023f0b48d4cc4ccaae035ae1bfe0c99030d04dfb (0)
    A corpus-header/0268090955933fff0784e516b3c74ec7439d2630 (0)
    A corpus-header/026d1c97203b4cc5b29a4adc0b504796a92c8308 (0)
    A corpus-header/02865c1ee4d92e4fa875e286ac2fa62475735cf9 (0)
    A corpus-header/029723014c2c5bd7047ba956493d8259d5a13665 (0)
    A corpus-header/029a0e5441a05f64f7f6d739ae98d9ce6354ee71 (0)
    A corpus-header/02a10dab5018fb34b542dbbdac59fcea0e976049 (0)
    A corpus-header/02a887555ca0c9510a3e14838d0556b4df4c1bdf (0)
    A corpus-header/02aa46771c1aaf165c7f5dc4483b7466ff5e1636 (0)
    A corpus-header/02b046b9947b02b6fd5807da4aaf69d5fdacb036 (0)
    A corpus-header/02b4f425442c303dfb5d05ba71c4688880d1d2c1 (0)
    A corpus-header/02c4f739dee0049c7cc5ef1f964be0434707516f (0)
    A corpus-header/02d215b11f619c7c0b2b2238af8310bef4187c53 (0)
    A corpus-header/02d32c9452829d814c3042b2c92078ae95e9874a (0)
    A corpus-header/02e64cfcc5f4aeb1b43701a1102ad80ed85c9fa7 (0)
    A corpus-header/02e8214e1aee667c0d990d14f2b3e72dad5e5926 (0)
    A corpus-header/02ef44a815d7032e1fcfecddc41103963c999eed (0)
    A corpus-header/02f8371e10dd07829614e86d59088da538f94374 (0)
    A corpus-header/030c35dfe1e82b65d4d4b836a255e7b6053fca1a (0)
    A corpus-header/0310007d837123989d0eadae468da68bc2faf03e (0)
    A corpus-header/031158a6cfed5427914a99947ddafad793f36c04 (0)
    A corpus-header/0313c1389f74e3ceaad37919935a9634183d2e7e (0)
    A corpus-header/031fb04bef5cc6be28d8e6561cf3bfde6bb1b549 (0)
    A corpus-header/0332d91ed9d9dda25a26e328933a49dc5c0e10a8 (0)
    A corpus-header/035557da2919d9b209bcc54e573a9df16520a938 (0)
    A corpus-header/0356034daf0b12c4bc9702d032fb39610ae314f3 (0)
    A corpus-header/036004133c1cde676a3aede1c8694006da18acaa (0)
    A corpus-header/0375baeca24aa3a5ec2370c1f2e31c51f89e86ed (0)
    A corpus-header/0375ea86abb401cc4975762a25ef27d3ecd3d528 (0)
    A corpus-header/0387d8f7b9b7c36a05dc06037e0e4afb397925ce (0)
    A corpus-header/038e25f9bdfbfba644732beb81787e7fc005acfe (0)
    A corpus-header/039140d879572fac5b3cc8922ecf44828b8578ba (0)
    A corpus-header/0393ae0365d87cdc31eb4db1bfd1b97aaa1dbe7a (0)
    A corpus-header/03a9b4b38b538127cf65e735dcb4865d08a527c3 (0)
    A corpus-header/03b36828b7e8ed5d951e65b3b1867977fbeb1c2d (0)
    A corpus-header/03cb9b73bef8c1ee8bb70c0762c2b5a403f31087 (0)
    A corpus-header/03d90ded8ad94c6960f4caade4159c35878190ad (0)
    A corpus-header/03df0fe99ebc13c45dec6d7e6a037986d628a288 (0)
    A corpus-header/03e3f7b0c96bf749fdf29cd61e0fb05d2721710b (0)
    A corpus-header/03e71c26b75423096e1adf935dccb0c230ea0d3a (0)
    A corpus-header/041cc4688917845a08a51bfddce83f2d5ed2505f (0)
    A corpus-header/043a0fd98685190a1d03f558f4861b3a3e2e5444 (0)
    A corpus-header/0441062fb35d653a8d382c4748edb374c5db1d83 (0)
    A corpus-header/045f35d35d7da701bc431b5858a5b5dd74cee0f8 (0)
    A corpus-header/04944af4279800e9cd345805bc8fda0adc543253 (0)
    A corpus-header/04a0d6b9e633ce536c1e421e4bee84c7f70b67d7 (0)
    A corpus-header/04a61e4174054cc99bef51d3b4a597e3caab738c (0)
    A corpus-header/04a8c1ee3406ed8060f6c5d13593475987df6270 (0)
    A corpus-header/04b17268e9d3ebf76b81787682d3f3078699252d (0)
    A corpus-header/04b6f6cf0e4a65cd6a5bf915e4db068a7ab6048d (0)
    A corpus-header/04c477777247d7d2e5f76ba57a95f45b4aded9b9 (0)
    A corpus-header/04cfc3bedb18990ac3d8742405d0d0a992e1eb6b (0)
    A corpus-header/04da285c5a58b087235b8a8688c15eb6d27f9a50 (0)
    A corpus-header/04f284b487b47173676a2f9a1df3cfbb3a2b36c6 (0)
    A corpus-header/0500aa32720fe34b803a49ecae82e5cd38753d19 (0)
    A corpus-header/0502c06b69f555c55bba0645436f6d37bfb5e819 (0)
    A corpus-header/050f2a42adb2609a3c06b3532e3a4c1bb9595a5a (0)
    A corpus-header/051e7fd14dd597422567527fd33ec9a96cc60d2e (0)
    A corpus-header/0521eabb94b62e51211bcd7043c6720780aaf678 (0)
    A corpus-header/0523847a8b0f0355eaeba0aff27bc0320cae4a02 (0)
    A corpus-header/052c8be272f1fc22f95118d8720bc5e582bfed85 (0)
    A corpus-header/05318fb09ebb2c8f3bf5481fe90237049ac52396 (0)
    A corpus-header/05378c4321d038c00830395ac1945963f4cc0d49 (0)
    A corpus-header/053e9038ed0502987f6843e5435ef641379634a7 (0)
    A corpus-header/0541d0c83053bf630f46964af98e1e5d7d50ad12 (0)
    A corpus-header/054d8b4b8581ca512c3041c161df56444462cd96 (0)
    A corpus-header/0556e4d7e1dfa2c96c2f79145fb71de9abebe43d (0)
    A corpus-header/055839528bf32f115e740cc9b8ebfcd86740a94a (0)
    A corpus-header/0568d45a1818b984a9dff27d25dfd21179ceb729 (0)
    A corpus-header/05738048d6709697de77f123cfd75c8ee4f83c30 (0)
    A corpus-header/057466d9e3e77562efcc95b295abbc9ffd147e4c (0)
    A corpus-header/0577d13cf42bf6a87072e77b4e176d6629930cd8 (1)
    A corpus-header/057d27ede8061f0e91d21e5571bd777b227a8dc0 (0)
    A corpus-header/0581c6057967827c47d689296040dc9d9ff1955e (0)
    A corpus-header/058cf6e3986d99d3fa8dab5084eed39497d0ad6c (0)
    A corpus-header/0593a2e2b4fe870a921d0002616e4dc89e967f60 (0)
    A corpus-header/05b2d4c4456540a52497082893460d395699c34d (0)
    A corpus-header/05d1fce90d3d395ad5dc5d76ad4f92255b280339 (0)
    A corpus-header/05d8b4ba0dd2900865b1b49ddd4e94a0239fe5f9 (0)
    A corpus-header/05dae3790b8753e1c2cdd63cdaf9334efa58077a (0)
    A corpus-header/05e638c0eebf9c2089f3d52702fbc3bac61abf6b (0)
    A corpus-header/05f16c027dd98f18b471aca899e0935a718bcf8d (0)
    A corpus-header/05fe405753166f125559e7c9ac558654f107c7e9 (0)
    A corpus-header/060250a86258716d12442994310d8993f6cc3c94 (0)
    A corpus-header/0624007319fd531b76dbf1e49dbd8135f214a283 (0)
    A corpus-header/0639dc355705c85f659b16185012375382b048cc (0)
    A corpus-header/063c34beae8b5a19510ce006808cb436e46c7fb4 (0)
    A corpus-header/064557daad3604713832e92dc9921fe9db1f124f (0)
    A corpus-header/064b2a1a4b750f9becb38524d6ecda0ad48dbca5 (0)
    A corpus-header/064e4a7bc9c8cfbc680f397723ab6741a6d05f70 (0)
    A corpus-header/0656944e265aaee245bfa870a3d5ccf3ff9f27d3 (0)
    A corpus-header/065fb9b314fea17e060077a78ad9e6fb6df187a5 (0)
    A corpus-header/06644890469e377e6232f0e5cac914a801498b01 (0)
    A corpus-header/06668f720579efb7ad0979593f82cf3e000cd57b (0)
    A corpus-header/06b72ac7a23d29d5ce413d332a5e0fbc2970ebb6 (0)
    A corpus-header/06b7c2c00000dc79211a04cac36abb331079e058 (0)
    A corpus-header/06bb8d0fd27ebde5cd517bf18c95043a25e8e492 (0)
    A corpus-header/06d2a2a3ba3fca51ad8a5ff1171d4a37d56d079f (0)
    A corpus-header/06de65dbca814e47e8951a5e1e61a2a58aaba67d (0)
    A corpus-header/06e834ac29615edb9501164b2b8ecf530d39c702 (0)
    A corpus-header/06ef7720ab15512c5df2c83b6f99c03fb1da2ee1 (0)
    A corpus-header/06f4bd4830179e70f5aa596b4fef0e0881c815c5 (0)
    A corpus-header/06f5d4c0d5996367e199aaa2d5d65ccd4f1fda68 (0)
    A corpus-header/06fcd88ebf9c33982d5664761cf15dbe84571375 (0)
    A corpus-header/070ca9e7701b413de0641c29f637ce3db47ab4f8 (0)
    A corpus-header/07194f40d7469ddb60a91798ad68a2c1cee278d2 (0)
    A corpus-header/071c9ba8377456bdb5aa5aec9fd997c9a58f50b4 (0)
    A corpus-header/072d22e70e48a4cf4f52f76faa8cb2ffd9008999 (0)
    A corpus-header/072d48bb11899d2cd83d747a63355b8cdcff41e3 (0)
    A corpus-header/072f45219c65fea921a439ee0a91f09642aac814 (0)
    A corpus-header/074539d9467be64e6e9d093097745f483079623a (0)
    A corpus-header/0747da421f2bf0f112f9da613d303f4a512b669c (0)
    A corpus-header/0759894c7140e5d16a7cc9b3a617561fd9d6af75 (0)
    A corpus-header/0765230cd1aa718ac95470a449a93c1414641371 (0)
    A corpus-header/076941de8c3ce280cbc2b5ef7efc1c00f5bcb2f9 (0)
    A corpus-header/07805aabd4e3ff618aa1f37f43bb589742ca4041 (0)
    A corpus-header/07817ff7a007ccc14fb5cd555ce86546b6ae1bb1 (0)
    A corpus-header/0782531fe82bbd6911182732b4de9bfc94abf8eb (0)
    A corpus-header/078d606ab5bc0edd5f5d0ce719aadabd3b9390d1 (0)
    A corpus-header/079dad82db76c04ce56086c511a7da821f4c1cae (0)
    A corpus-header/07a8b25ae317d0f72ee897dcedb3cb6bbc7ac2d9 (0)
    A corpus-header/07ad9ffdc3dae9042725bfcee3a5bde17bf82485 (0)
    A corpus-header/07b3171e4cb5617866004afafd594e891db3dc84 (0)
    A corpus-header/07b73153a44b1ecd57ffaa5d25401a9b75054565 (0)
    A corpus-header/07b94c9239f6b9fa5924161b4151fbf9eba990a4 (0)
    A corpus-header/07c35aba7a1c446175611652a9996754778f156b (0)
    A corpus-header/07c892b06cce680614abd30340581c2659ba2f2d (0)
    A corpus-header/07ca13db1f9740dc81ac58bdb08ac1e9531bb028 (0)
    A corpus-header/07dc4876caf2ba376b59c970ade8a5c0a1f2a9d8 (0)
    A corpus-header/07df695864a16f60e9ba696579f227e3251c9510 (0)
    A corpus-header/07f2a9d222a2b1307b5975805c2f456a7d5aa4fe (0)
    A corpus-header/08080be3ffcc2e6335b6287ede460f01a977d028 (0)
    A corpus-header/080be7183023c903b723140a98dcd3df7dc9da6d (0)
    A corpus-header/08192013f6691954223c3d8d7f261fb1f00b7753 (0)
    A corpus-header/0821f864ded023a6361c0edc78ff38f79babb1c2 (0)
    A corpus-header/082fe936f53659e9aa0afd90b1d68717a7fa0a53 (0)
    A corpus-header/08301566fc62738fd668ebb2759c4664bf4570d6 (0)
    A corpus-header/0845efc1f78317a419e4c5107683694caac9cd71 (0)
    A corpus-header/0857fbbedc8c339a5cf8eac65be0a2a88924372c (0)
    A corpus-header/0876c8e8e36aadfdd6707cf23bfd8918b7caf7bb (0)
    A corpus-header/08a0f2d9cce35c758c0ad89e193a328222a55b72 (0)
    A corpus-header/08af27ec8ff017ade99178f3f1b22eb26d19918f (0)
    A corpus-header/08b047cd572bdd05d84ddce3739ad9e7ebd6fae5 (0)
    A corpus-header/08bcddc5fccf1ba800281edbf8a2f67e66531800 (0)
    A corpus-header/08cdcd0e60b09594c811c700eba56fbbb405e84a (0)
    A corpus-header/090a29d16d8ac876859a629270ab790a9e9ecd31 (0)
    A corpus-header/091476ca382b607cf3080899001bf1c6a11c02c8 (0)
    A corpus-header/0915328fbf80ea3b5d36cccc0be781ac09691a75 (0)
    A corpus-header/092dea3964ab7f7e79706b7ce8dfdd16e4fbbfa7 (0)
    A corpus-header/09302595107523143de661b8e82fbce7e901562c (0)
    A corpus-header/0930569d720fdda944e5559d424aeb645b2b1149 (0)
    A corpus-header/093e9afee95f3b2cdf9efb9c180396d88cbb4596 (0)
    A corpus-header/094ad4f8aad89dacc1688d9d9360e758c91aa904 (0)
    A corpus-header/0952aac938be8c6bec2863c25395040483f3ce38 (0)
    A corpus-header/0956143ef638e392ed8b7f2327a8924ec2ed8ec1 (0)
    A corpus-header/0956a134d9b477585074769fbf86a5984308a487 (0)
    A corpus-header/09593dee8745fa5e8baee7b2a657ed71ead5cbe6 (0)
    A corpus-header/0971805802ce6a6eaadedacd9b45d4fa8623c8da (0)
    A corpus-header/0975e25253ef9a7fd7c35fafee759db480cdfc74 (0)
    A corpus-header/097e3a3ed48c2134c959432b9583b7c2ac76b2d3 (0)
    A corpus-header/0995b253aa2b110eef6d8e35d3a1a8af04b30fd6 (0)
    A corpus-header/09a88bfe6db0f3c841cad9ed31cf99e5ea0eaf23 (0)
    A corpus-header/09abf9e8232e5a25796c3a04814dca15a2c49245 (0)
    A corpus-header/09b1d6f068429fd422b2f896e3db35ef6100d0d7 (0)
    A corpus-header/09b56e5e01d5296e9a6884a145a3b08952b516c5 (0)
    A corpus-header/09bd6cabb3557d67fef83738ca1deda2404c29e4 (0)
    A corpus-header/09c83754be1cc7f663a2af909fe697da3cb03037 (0)
    A corpus-header/09cdf9af85f339cbb6833848c4e4b74b83cd9fde (0)
    A corpus-header/09d02340672b17f351d9a2087a3281b73a43da91 (0)
    A corpus-header/09d1c576df9b8cfb72f6c0cd47e2b76cf0804fcf (0)
    A corpus-header/09d39ce6a5dc5cebb102bcdc83a8bbe3f7291421 (0)
    A corpus-header/09f7b172569ad6b77ae8778b912031406a04ae69 (0)
    A corpus-header/09fd1cdbf68522ee3182dc8303581dae44785cbd (0)
    A corpus-header/09fead333d09d39457e2471418c7c221cce9a960 (0)
    A corpus-header/0a0263e9864310d8111914ad88caa2b27c098c20 (0)
    A corpus-header/0a16a61ad3c582bc8463236bf03b46c4c3a5ad4a (0)
    A corpus-header/0a206eb0e7cc9bfa97545736104514f745011b67 (0)
    A corpus-header/0a209dd3c95d4d01be4d8ceb1344950ed92a3d46 (0)
    A corpus-header/0a21964a27cb3233fa8c75895bc8ccc57a6a1cdd (0)
    A corpus-header/0a24d9e5b07261072c8a91d3950a4120be0488d7 (0)
    A corpus-header/0a2a847258954516c586fa1cc56faaf88e46d10f (0)
    A corpus-header/0a3a72fb66aedd3d7236ef5319b7e0ed9bb04c55 (0)
    A corpus-header/0a4a62299888acf986c89e299e53884c2c315c68 (0)
    A corpus-header/0a516bd22635ca83c9e9c292f8447a48970daae0 (0)
    A corpus-header/0a57b8ca2379f3a32a69ff6deac0065a0c4c9f60 (0)
    A corpus-header/0a5887e46921f7929b18224413a7e730767d8de9 (0)
    A corpus-header/0a667997978e69b03d25fb151de9a70d085f1f67 (0)
    A corpus-header/0a8db9a484194ba490a4036d4eaba8fc00095686 (0)
    A corpus-header/0a945bc10a561f77a4f2dc9782c63476d99694a1 (0)
    A corpus-header/0a96d906c254bd0a1caf6f6d385cef40bf34f555 (0)
    A corpus-header/0a974871e0d7d532206da4dc98654e250d86c4e5 (0)
    A corpus-header/0a9a2fdd048d479ca6c93d5c394398f8f8e629c0 (0)
    A corpus-header/0a9c69a694ffe591f4b0b1b7ef6c0f185f79dd6c (0)
    A corpus-header/0ab6111ba25a70f03cac66b95f6997f7d17b1e99 (0)
    A corpus-header/0ab73b9215bf973da72f96f1f465e8a2d965cde2 (0)
    A corpus-header/0acb49ef7d1ebd8b65fffc596d16c61077e8cf13 (0)
    A corpus-header/0acf67d5ba01e5ae31197486425e2c1de2038a89 (0)
    A corpus-header/0ad5a682b72c24058c7e1fea508ff99ea5b4a706 (0)
    A corpus-header/0af59553a59e28de59baf0f33241eb092a633f4e (0)
    A corpus-header/0b08c1a1c7f1dea52d2f70781af670f475427d4e (0)
    A corpus-header/0b1bb277c0b9b205a889cd0e92d99dedc9fdcc73 (0)
    A corpus-header/0b24cf7e7b8f29d41ba572134360bb1adb2cc565 (0)
    A corpus-header/0b2ea9dc0ea5daa232452aae26f6bb2096a68fff (0)
    A corpus-header/0b3247c7427cf7e8e5b0d79183ec338e4d56c4e9 (0)
    A corpus-header/0b423fdbf2332fe1e79aafabe65bc5dceddb4d1e (0)
    A corpus-header/0b4725a020efac4262d2e262656191f13f9553db (0)
    A corpus-header/0b5f9a1c6d38d58db33ff14411575db033d5a964 (0)
    A corpus-header/0b64e7d9260b59b477505497d61196a3c06f4cbb (0)
    A corpus-header/0b6761de5be173c3cab4f8ed33756bb9d938da0f (0)
    A corpus-header/0b6a42ee2924014b9524a8411a44dfd7b6bac26f (0)
    A corpus-header/0b7086b1f7be5fe2a61ea1679b14ccccf5581f0d (0)
    A corpus-header/0b8b1e80a71ef716105ee9bcc0dff255e353451d (0)
    A corpus-header/0ba95883aa3e6753bef97ea7622fbf80f373116a (0)
    A corpus-header/0bc26000bb4feb2900530afede0f957a3a8f95c3 (0)
    A corpus-header/0bd16b3babfdcf6c41996e798c7eda3e0889e30b (0)
    A corpus-header/0bdb0d627b58c16d0ccdd5dc40669b5440aa65a0 (0)
    A corpus-header/0be0f66c1f571533e3ca808c83ef162cde2c9020 (0)
    A corpus-header/0becde13729e96c5f143001bcf19f8f765c59293 (0)
    A corpus-header/0bf9dc346ae326792399e6921e675770a539a7c0 (0)
    A corpus-header/0c054f6ca54370fd34c5033d8907403db50d79e9 (0)
    A corpus-header/0c07839b99a3cc90d861d3d5567579f029e2c313 (0)
    A corpus-header/0c2801980006a5f11f6140a1abd8df5edb64aac1 (0)
    A corpus-header/0c4268e79113982ae72d4da60efd9d21ccc0a8e7 (0)
    A corpus-header/0c4a716a6d5d9bdbd91d048648a238f3d1615740 (0)
    A corpus-header/0c503d292603f8dc384190cfe71c1cef443aa4b2 (0)
    A corpus-header/0c52343fc630fd5986e10dd41b0412ce291d50e8 (0)
    A corpus-header/0c5db9e2d8f82b8da572f20dd38638294408f9d4 (0)
    A corpus-header/0c6e578a655b7601b0f341ec6e76e7372e03e08b (0)
    A corpus-header/0c811c6a3cea805a07482938569b90c4f0c32b21 (0)
    A corpus-header/0c8b9fe749910a06ffe8695481f3300c81ef72a6 (0)
    A corpus-header/0caa0821a8a4790bd07cc331ac4abbdcb2d025bf (0)
    A corpus-header/0cb8e65be4e79d5653996ed2076f87b6b1062c09 (0)
    A corpus-header/0cbe247f5234bfa7005e431bfbe81974f5b9954c (0)
    A corpus-header/0cca1e926baf51c1e77c98f49c084f834314304a (0)
    A corpus-header/0cd6d53ac67417c2f33aa8c21acd3bf3f4383bce (0)
    A corpus-header/0ce5bf91b6e04e19eab1e91ed162efde138e65a3 (0)
    A corpus-header/0ce855084146324e5e9370d0ec6e0ef056662156 (0)
    A corpus-header/0cfa2792b3b98961476140aeae761ab548ca18f1 (0)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/1559.patch
https://github.com/rpm-software-management/rpm/pull/1559.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1559
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20210225/438e165a/attachment-0001.html>


More information about the Rpm-maint mailing list