From patchwork Wed Dec 21 18:21:00 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 9483609 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 75D94601D2 for ; Wed, 21 Dec 2016 18:23:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6E5D328458 for ; Wed, 21 Dec 2016 18:23:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 634902847B; Wed, 21 Dec 2016 18:23:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from emsm-gh1-uea11.nsa.gov (emsm-gh1-uea11.nsa.gov [8.44.101.9]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AE0E828458 for ; Wed, 21 Dec 2016 18:23:36 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.33,384,1477958400"; d="scan'208";a="1768178" IronPort-PHdr: =?us-ascii?q?9a23=3A2uo1TRU/ecypXAF5PJ2JVEBqrCrV8LGtZVwlr6E/?= =?us-ascii?q?grcLSJyIuqrYYheAvadThVPEFb/W9+hDw7KP9fuxAipQu93Q7zgrS99lb1c9k8?= =?us-ascii?q?IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUhrwOhBo?= =?us-ascii?q?KevrB4Xck9q41/yo+53Ufg5EmCexbal8IRiyowjdrMobjZVtJqs1yBbCv2dFdf?= =?us-ascii?q?lRyW50P1yYggzy5t23/J5t8iRQv+wu+stdWqjkfKo2UKJVAi0+P286+MPkux/D?= =?us-ascii?q?TRCS5nQHSWUZjgBIAwne4x7kWJr6rzb3ufB82CmeOs32UKw0VDG/5KplVBPklC?= =?us-ascii?q?EKPCM3/2HNjsx7kbxVrhSvqRdix4LYeZyZOOZ7cq7bYNgUR3dOXtxJWiJBHI2y?= =?us-ascii?q?coUBAekGM+laoYn9v1kDoQawCAajGOzhxSFHhmTt0K0m0eksCx3K0RY8E94Qtn?= =?us-ascii?q?nfsdX7NL0VUeCw1KTG1TTDYO9R2Tf58ofIaQ0qr/KLXbJ3asrR0lQkGgTDjlWR?= =?us-ascii?q?tYPlODeV2f4Ws2SB7upgUuWvi3U8qwxqpziiycgthpPOhoIPxVDJ7CN0y5s2K9?= =?us-ascii?q?2gUEN3fNGpHZRKuyyaKod6WN0uTm52tCog17EKoZy2cSoQxJg6yRPSZeaLf5aU?= =?us-ascii?q?7h/iTuqcLyl0iXR4c7ylnRmy61KvyujkW8mx11ZFszRKn8HXtnAIyxzT8s+HSu?= =?us-ascii?q?Zh/ku52TaAyQTT6uZcLEAoj6XbMZ8hwqMrlpYJrUTCHjP5mEXxjKOMcEUr5vOo?= =?us-ascii?q?5Pj9brXjp5+cM5d4igD4MqswhsyyGfk0PwcBUmSB+emwyafv8VP2TblUlPE6j7?= =?us-ascii?q?HVsJXAKsQaoq65DRVV0oEm6xunFDepztAYnXgBLFJYdxOLlpPmO1bTIPD+Efiw?= =?us-ascii?q?nU+snSx3x/HGIrLhApLNImLFkLf6Z7lx8UFcyA0tzdxH/ZJbFqkBIO7vWk/2rN?= =?us-ascii?q?HZDh44Mwuyw+v8DdV90poSWWOJAqODNqPdq0WI5uEuI+mSeoAZojD9JOY55/T2?= =?us-ascii?q?l382hUcdfbW13ZsQcH23Be9pL0KdYXrtmdcBDXwKshAlTOP0lFKOSyVTaGi2X6?= =?us-ascii?q?I94DE7FY2nAJzfSYGtmryBwTy7EodYZ29cFlCMCnDod4OeV/cLciKSLddrkiYY?= =?us-ascii?q?Wri5V48hyRauuRfkxLp/NOXU4CwYtYn42dht/eLTjxAy9SdsD8SZyW6CU397kn?= =?us-ascii?q?kPRz8s06B1uVZ9xUub0ahkn/xYEsRe5/1TUgggM57T0+16C8vpVwLEZteJSU+q?= =?us-ascii?q?Qs6oADEqVN4xxMUOY0llEdW4kh/DxzaqA6MSl7GTB5w76KHc33/sJ8tmyHbJzq?= =?us-ascii?q?ohj147QsdVMm2mnKF//RDJB4HVi0WZi7qqdaME0SHX6WiD12uOs19CUANrS6rK?= =?us-ascii?q?QXUfalHRrdTj6UPIV6WuBqg/Mgtd1c6CLbNHat33glVCQPfjP8/TY2asm2esAh?= =?us-ascii?q?aIw6mDYJDte2UH0yXXEFIEnBwL/XaaKQg+AT+so3nQDDx0ElLveF/s/PJlqHO9?= =?us-ascii?q?SU81wQSKYFdn17av/B4am+CcQesJ3r0YoCchtyl0HFGl0tPYEdWAoxZhc7tGYd?= =?us-ascii?q?Mm+1pHy3zWtxZmMZy9KqBunFkecx54v0n2zRV4Fp1AkdQ2rHMt1AdyNb+X305A?= =?us-ascii?q?dzyC2ZD9IaHYKm73/B+zcaHWwU3e3MyQ+qgR9PQys0/jsx2xFko+73Vn1MFY03?= =?us-ascii?q?2d5pXOCAodT4nxX10t+BdkvbHaZTMx54TO1X1jKaO0qCPN28o1BOs5zRatZ8pQ?= =?us-ascii?q?P7mYFADoDcIaCcevJfc2lFipdB0EJvxS+7AuP8+8cfuJxrKrNv56nD26lWRH/J?= =?us-ascii?q?x90kWU+ipiS+7Hw4oFw/aC3gedSzj8jFChssb4mY1fYTESH2y/xjL+BI5WfKFy?= =?us-ascii?q?epwLCWi2Kc2t2tp+n4LtW2Jf9FO7A1MG2dSpeQaLY1zmwwJQ0UUXoXq6mSq31D?= =?us-ascii?q?F0iCkprquZ3CzP3+vibwALOmhVS2l+lV3sO5S7j8gGXEi0aAgkjAGl5UH+x6hf?= =?us-ascii?q?uqt/NXXcQUBGfiXtNGFiT7e/tqGYb85I8pMovj1dUP6gblCCVr79vxwa3jv7H2?= =?us-ascii?q?RE2TA7cyumtY/jkxNhj2KdKGpzrH3fecxrwBfT+NrcRflN0TYcQil3lyXXDECm?= =?us-ascii?q?P9a15dWUi4vDsuemWmKkUp1faDfkzYWbuSul+2JqBRm/kO6pmtH9Fwg1zzP73c?= =?us-ascii?q?FwVSrUtBb8fpXr16OiPOJkYEZoAkT85tF5Go5glIswn5cQ1mYGhpmP+noHi2jz?= =?us-ascii?q?O81B2a3idHoNWSILw9nN7Qj73k1sM2mEx5z/VnqAwsttfd+6bX0K2igl9cBFFL?= =?us-ascii?q?+U7KBYnStyule4tRjeYeV5njoG1fQu6WIaguEQtAoj1CqdBKoeHU5CPSzjjx6I?= =?us-ascii?q?9cyxrL1LZGazdri9zFB+ks28A7yZrQFcXXn4do0kHSBu8sV1KEjM32Hr6oH4ZN?= =?us-ascii?q?nQasoetgWOnBfdi+haNooxmeAMhSp7J239p2Yoy/MgjRNwx5G6p5KLK35q/KKk?= =?us-ascii?q?GB5XKiP6Z80U+jH3gqZRgNya34axEZV9Aj8LRofnTeq0EDIOsvTqLwiOHyc6qn?= =?us-ascii?q?eHHrrfGBSS6El4oH3SFJCrLWuYJGEDzdVlRhmSOlBQgBwOUDU9hJ45GRigxNb9?= =?us-ascii?q?f0dh+jAR+ln4pwNDyuJoKxb/SGfepB+0ajczU5WfKgRZ7h1Z50jJK8Oe9vx8Ez?= =?us-ascii?q?te/pK/sAyHMnabaBhQDWEVRkyEAEjuPry06tnE9+iXGPa+L+fUbrqUsuFeUemH?= =?us-ascii?q?xY600oR65TmMLtuAMmNkD/IlxkpJRWp5FNjBmzUTVywXkDrAb9SBqBay4CF3q9?= =?us-ascii?q?qw8PDsWAPv/oaAEaddMdB19xCxm6eDOPaahDxlJjZAypMM2XjIxaAZ3F4IkS5u?= =?us-ascii?q?byGtHK8OtS7MVqLQgbNXDxAaayN1LsRI6b4z3ghXNs7fkN/10aR4jvEtAVdfSV?= =?us-ascii?q?Phgt2pZdANI2ylLFPIGl2EO6qAJT3K38H3ZrixSbxOg+pKqRK8ozGbE1XsPj6b?= =?us-ascii?q?jTnmSwivMf1QjCGcJBFRpZq9fQh3BmjsVtLpcAO7PcRsjTIswr00m2nKOnQGPT?= =?us-ascii?q?h4bkNNqKef7TlBjvVjHGxB7XpkLe6elyaf8ebYNo4cseF3DSRsi+Ja/HM6xqNO?= =?us-ascii?q?7C5eWvx6giTSocB1o1y9iemA0CRnXwBBqjlVn4KHp0NiNrvF9pNYQ3bL4AoN7X?= =?us-ascii?q?mMCxQNv9ZqEdzvu69XytjJj6/8NSlN/MnV/cQGAcjYMsWHMGAuMRDxAj7bEBMF?= =?us-ascii?q?TSK3NWHYn0FSiv6S+WeLrpcksZXsn4IORaFdVFwwDPwaC0BlE8cFIJZ4RD8klq?= =?us-ascii?q?SbjMEQ73qksBbRXNlavozAVv+KHfXvLzOZgaNeZxsPwLL3M4ITOZbh20xldFZ6?= =?us-ascii?q?n5/HFFbXXdBIviJudBQ0oFlX/Hh4UGIzx1rvahmx738LCf60ghk2hxN9YeUt8D?= =?us-ascii?q?fj/Uw6Jl/NpCs+nkk+h8nlgSyRcD72Kae/Q5taCyzquEgtKpn7WRp6bRWunUx4?= =?us-ascii?q?MzfJX7NRj718dW91jA/Tp55PFuBATa1eYB4d3vaXZ+023lRaryWo305H5e/eBp?= =?us-ascii?q?tlmwoma5msr2hP2wh7dt46ObTQJLZVzlhXnq+OuDGn2fo1wAIFJEYN93iSeDIS?= =?us-ascii?q?t0wOLbkmJCuo8vZq6QOchztJYHIMWOYyovJ26kM9PPyNzzj+3L5YNE++LfafIL?= =?us-ascii?q?+Zu2XbjsGIQ0kw2V4Pl0lL5bh2y9ksckqOW0Ap0rSRCwwDNdDeJgFNc8pS6H/T?= =?us-ascii?q?cD6TvuXKx5J1OZiyGf7sTe+Pr6sbmFyrHBwuH4gW6cQBBJas2lnCLcj7NL4F1Q?= =?us-ascii?q?kt5APzKVqYFvtJZhOLnyoco8yk1pB3x5NdJjYTAGVmLyq4+qvXphUrgPqfXNY6?= =?us-ascii?q?eHEaUZUYNnguQs21hzZZv2hcDDmwyu8ZxhKC4CHhqSTLFjb8acZjZPCPZR53Et?= =?us-ascii?q?655TA//7KxiV7N/ZXUP3v6Osh6ut/T9eMaoI6KC/dTTblnrUjcnYhZR3uxXm7A?= =?us-ascii?q?F961OoL8a442bdz7Eny6SECwiyopT8ftO9agNrOIjh/sRYZVtombwT8iONShGT?= =?us-ascii?q?EZHhd/u/sM5LlgZQEZZZo0fwLovRwkN6OjOAeYzsmuQ2G1JDtVVflezf+1Z7pL?= =?us-ascii?q?zyosdeK6x3wgTokmwOWt904CWo0KhAnExfm/f4leTTTzGntFdgXTpCo5km9hNv?= =?us-ascii?q?oywuY/2x7HrFgcMjCRe+NycmBEuc8zBU+KK3VsFmU4X0OcjZbE4gO0xb8S+ypd?= =?us-ascii?q?kMpK3uJdtXj/vpnfYDWqWKOxspjaqCsgYsIgo6FoP4zjP9GKtJXAkTzDVJPQqB?= =?us-ascii?q?GKUDamF/pGndhdODlXT+dOmWw+I8MJpJRB5lQrVsclPbNPEqktqqqtaTp+Ai4Y?= =?us-ascii?q?1TUZWJ+Y3Dwenue83KPXlhiNcJQjNBwEtItNgt4GXiFrfCwRv66jWJ/Ql2OeTW?= =?us-ascii?q?gLOggT5xxW5A0cjo9wYvzl4I3QQZ9WzT5Wou57UivMFpls7Fv1UniYj0XiRvi9?= =?us-ascii?q?lOKkxh5dzPXp0tYHQhF/ElRdy/xQlkQ2NLF9M7MQsZLSsj+UaUP6u3rgx/ekJF?= =?us-ascii?q?ZL1cLZbEH3DI3BtWr4Uy0T52cURZNRx37DFZQeiQ15aLwkpF9UOoCpZl7+5yA4?= =?us-ascii?q?x4RuB7S4T9qkx0wirXkdXCqqD8BBBPt4sF3JXD1lYparqJrhO5VTTW9Q+IGdq1?= =?us-ascii?q?lDn0V3Ni6105xcJN9R4jQURjhAvS2dvMeuSM1EwcJ3D4UDIsxltHf4GaNEPoOc?= =?us-ascii?q?o3wqurP10X/W5yozvE28xDqtB6+yV/hZ8HEGGgU1O2SerVEiDuU2/mjO8lDNs1?= =?us-ascii?q?V0/+ZBCbiMlkhxoShyEY5QCTpT0nClNVtzRmFcs+pGMKTVb9BcQ/4qaBC1IRw+?= =?us-ascii?q?CPgm01aK/UxvnHf5Yi1ythdB9CzHWQk7SzUViK/3mTICssGnJSMaS5VQYDUudS?= =?us-ascii?q?fKMQSbmTxMsRZebEFrVZYZAspF+74F3ItU+NbCRli2KS0fWhxtKB442+JFlUFf?= =?us-ascii?q?qEWYZTzdDQ2wePbTtR13eNycrNK1IPT85whLkIXnv/4k968bXX2phRWtQczCr4?= =?us-ascii?q?/7rtCKtlGBdL3iPO24fHDMVyXDgg6ohbc8EZbK+zbcMBBBJ5l903okboDrCXTX?= =?us-ascii?q?MhReO6IbO01bWLh4adVBvO9XfNJrd7gS+aBzHBKHWg3gF5G1oPlAMFnTWSzULz?= =?us-ascii?q?+d/eynvYLT8bvdRPD7acyC23nLX6B6Mop05DTgB7jq1ope9Vbs1fd26kN2U17G?= =?us-ascii?q?PD6drN75PAME+NGidlf+vp0uBT7WGol/n2ftxk5aa8oaWCmq8JMGyJxH9nr/Ve?= =?us-ascii?q?V43VXtv+FI8blr95U36ahzycioPafSNehasUh/DxiMHQVq6o8iD3VjR21Kee8R?= =?us-ascii?q?L+rRfb4Fgs/wreD3C7YX5weR++BDbtvHPU7BkNGlCj6AURxEgBsBqTkCIwuAzf?= =?us-ascii?q?6KhbF7Rtu+qOjk3kIt/0K+IQQYzLBs4oeE/rSHpPPNYxvW17gEVbDgRtnvobQ0?= =?us-ascii?q?p0OS+fokmaYTdWxzeQKqC/USVsgHyWv6yqAq1y0sGdvZH7384P5DS245njX4lp?= =?us-ascii?q?B/BVoWAPQUHaGP/YtEgGc1gOnZNsAScqBem2aACR+kHaUEyX6w8SeXJ3Nlgh7W?= =?us-ascii?q?2RHqXWyz9EP2rTN/QSbUzdfsiExVVretBUdVQiWmJ1R1sC+VMwrur9r3vr457E?= =?us-ascii?q?coPWz4rNiNjneuOKtLH83jI9yROS80pFYMgZ0wQNyv3JoXGdu7INcf6nFxdODe?= =?us-ascii?q?63+xky9cv6hHm5fe4tuL9fnNGnmglaKaoa2XxD9E0ng4oU0/6te4O/HI5t2FX/?= =?us-ascii?q?Oo12ILQCdkoQfBXhm1qrvAr1APIkGL1UjGmYMQMtFex3k42Vns5PI/T9Ir6AVe?= =?us-ascii?q?CoHAauseqj/pPDv7302fY843VymZyDZXBU76EVhmF6g6xGLwvdjGmW3W+1I2Wo?= =?us-ascii?q?l6b1bnigBvD4UkNUIt70Aawi4YEQgIaR2WF7+oClr4IosDT0gMcwyH3KK9eqc1?= =?us-ascii?q?w0J83q+v6PXUbexmCKoHLuxdgRKWnFhHBpIWtrUTQLd4e1BD8a7XoRbtC4z8Uv?= =?us-ascii?q?jpi3UwMua1QthA/sAFtnst+AK/Rxum6Zdf8bkbjJSIdq9LYZfSusBz81lo6SQJ?= =?us-ascii?q?diNTnBh1lwm5XvwEpOD//tjbt4Kl6uSvVKYoXOgX8gY7BmRggJvqgVAjp97X2/?= =?us-ascii?q?1aSoLLlYT16BpNLGKSuIbGzxl8LvIDK4Oqfbl67XoIOzMTJ2kQMtqKdfYz/zVh?= =?us-ascii?q?MDLJ51xNGskMf88XPNLRmQBIjU3kQKpc9svAGl6WEYhzdcEo73bvyD8v7Js8Vv?= =?us-ascii?q?3t5yOxJZ/C8V5CJe5DjD9rlNLYvucZ2/3SCDIY4XOBcRh63juCy4WRC/b35eiM?= =?us-ascii?q?0MvbV08aES42XYZdIyCC+Q++SuquiprpVgKU6snugJMxb0+QXma+nLgZvaZMH+?= =?us-ascii?q?9AjT/73jtEGoD2mf2Vqdys53VTtlFdF4Zz9xLFEr1FPppnIRT4itWrRk9kCyvj?= =?us-ascii?q?YsHbaB4ut/CQxugS+OhxKkr+ZYAaIhIY0b368mBaThFzSLLsuFaWQ/4RbsN8SP?= =?us-ascii?q?zYtnBV9Z5gK6gXMViSvpPqtClHqEw2AAIybL8wryBaeVfOnAJPRqb0o6QMig0C?= =?us-ascii?q?Xt5loUVMA36/OHoi5zrbUqRYlKaRB+IT8jWPSawOVEJkMjhgTBOx2ZVufaapnP?= =?us-ascii?q?9cv2NCgCx9uvgr3CZ8SBu6pyLsu7oH2Sg897GgqDUBpXtFQ/2bkyfPD1VD0PsK?= =?us-ascii?q?grkHBnbn6Fyzen8DY5Xu4LhpIsTg74oh428lbRUlYSIGQfyqCzvsgKOQHoyPrN?= =?us-ascii?q?VciQaCuMrSdr+zNjEeOKkyxxzlRnh91BXenRlz/WsERzWv9tkkK5unNcYi3Cqo?= =?us-ascii?q?FnDRdEwQ7aNRrMvxqVkLQfM0aVNmwGVj1NKLSTENRMzLBmY6kwklaWRCcJJY6h?= =?us-ascii?q?8aFrIlgiiJvqlY5A4UZCrbEoW/9onWg8jIxWE3Tc12yWLOuq2FmpQq3WVkm9Nq?= =?us-ascii?q?9CGOvm8fd+jFU8BxA3jz0Zxfxfb5Z/W3veANUJFmx6i5UP8eLsmj/nO72Jd0VU?= =?us-ascii?q?+ryLQeG0G0MeEZybfdTSilVXeUWeKVfGiQhzw5KFL95QG0Ll0rb8dHt0A9Mu/F?= =?us-ascii?q?hp9SiQLhVbd0Sz6LpV/cymwjMP8VexgwuIi5ZwwAVPQRaPSEJegy3P0+D0MBb3?= =?us-ascii?q?3JHSp2E++2tlqtnIlnO3p++kj6ZOXt8hz8MNSMABUEFpTarpFp8/ygWm2BIWNg?= =?us-ascii?q?zAF1PERs6+ffFlExu/RAc5aQgdfQhMp00eofe/drLyI9psYZmph/5omMzMeKbR?= =?us-ascii?q?bRw473JdHUofiYAPrfwl8oem5AUboZZgX16Js8PtIjXb3cA6dZtwwGBacmWJwh?= =?us-ascii?q?K3vx9KZsIQxobAHRYqi0j9LxpuKPYZtUu2PW7kwuIyjBoREDzea0TQNjZZCwm3?= =?us-ascii?q?ryOIwwRi5Gr9B1EhtmG49PFNkarwupBJ6UnK+7hsS0+0N9vO8KqrT/BezQ1NS+?= =?us-ascii?q?xIVxRJla5UqEPDrLA6lrmEtlhPyogvjcypnxFd/iedQcWeh1XGHFbr7GHp2hJT?= =?us-ascii?q?+VO8P8ektG87uC37JjVhWeejr1X62ctC2rLP9k+1k0ypRkfOrPyzwg97Hb2Mfy?= =?us-ascii?q?Z2Fcoyest2WJOYBa7FzLGezeRQxbReCC8GZ/Eq0ddZH0+/sWMdw+3Nic5BF+7T?= =?us-ascii?q?pa0MufIqiuslHD11l+dZLaMEvpwTg2VZMNIBSlPksmmXXZpWjFAXRAMsikLtFg?= =?us-ascii?q?gNGRDhPz/ERxgWUtaXRaGmr0RNeeJXQb29igawKU7g5LCcgMn/Kvc04iqqKyUf?= =?us-ascii?q?VoOolCmeiysLUHkNBpKzzARcRDOyHQLaR2PiZKDujUpVgneBgEs78vVocyf5iO?= =?us-ascii?q?L1sNMF2cxiPq0QvCzUr0esS31KmXJCYW83NHz6/K0DRLqAe5pfaZjdP5UL/HdJ?= =?us-ascii?q?H5RuXfMCk7WTGAQzQ9D0Kp9ky5u/oLpvaYJn0fol8MaCKIFAETvrxvrcTXDmLL?= =?us-ascii?q?ne1jfYYKhOyBViHxUS14krA9CjxNtU+SX/oJDRPWYGP5gGpApAyiIedB/Xf/YL?= =?us-ascii?q?KExqpVWuoWAoxXf/2HQtvYf+5RJzMpljUfJea9cMfQr7Ej0lLHVWEZCbXH9EWC?= =?us-ascii?q?TE6KRfyR3zDrUp8Wv4gzoSUl4c/QnilrE6TIOLafujGu8o6kjCqCv+3RSHUtaV?= =?us-ascii?q?QvgO0eGGmB3AVAKGYcBtEaok7iWbSAZ0dS23Itku9uxRsMdx5oUn1vz31ahvC9?= =?us-ascii?q?FdNFSVQMlmOhXOUGbExrDDM35UKK4AjyYdsaucDJRm9e7aABSYwHI/kt9obXOb?= =?us-ascii?q?EcwPEz3DJpuCY6qTmSD0tBjgKZ9KrdBLl8xrNH5WYk/vx7XVqCQy3BfWjdy4qn?= =?us-ascii?q?CsVPxSF0rXDiycXUovhnNKFGqIFhHFcKHSV2K8jf/TBGV2H03BC/vxOlEzuDLj?= =?us-ascii?q?IZ5ywLKjAbeepvye90rgrIJZ797haLuqYgrla7IRqaAbqznppQA4fm0hvrRzNM?= =?us-ascii?q?dGCNFptxrv9W3PcVZrg8Ldy4AlvGKgHlSAOfvDsX3B22svKsF8UckTZWqbklNN?= =?us-ascii?q?y8B9pCNtLexjwthi8QyQ=3D=3D?= X-IPAS-Result: =?us-ascii?q?A2HVBAA0yFpY/wHyM5BdHAEBBAEBCgEBFwEBBAEBCgEBgwo?= =?us-ascii?q?BAQEBAR+BZI5DrHQmh2NTAQEBAQEBAQECAQJfKIIzGoIcBgECNxQgDgMJAQEXK?= =?us-ascii?q?QgIAwEtFREOCwUYBIhLBAGqYyoCg2iHIoY2hiiCQxEBhX0BBIhlkhKBeo8yika?= =?us-ascii?q?GGEmRaldoH1GDZRyBXnGGKoIuAQEB?= Received: from unknown (HELO tarius.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.nsa.gov with ESMTP; 21 Dec 2016 18:23:34 +0000 Received: from prometheus.infosec.tycho.ncsc.mil (prometheus [192.168.25.40]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id uBLINXfQ021380; Wed, 21 Dec 2016 13:23:33 -0500 Received: from tarius.tycho.ncsc.mil (tarius.infosec.tycho.ncsc.mil [144.51.242.1]) by prometheus.infosec.tycho.ncsc.mil (8.15.2/8.15.2) with ESMTP id uBLIMMIA034183 for ; Wed, 21 Dec 2016 13:22:22 -0500 Received: from goalie.tycho.ncsc.mil (goalie [144.51.242.250]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id uBLIMCXl021001 for ; Wed, 21 Dec 2016 13:22:22 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1AyAAAeyFpYhyIeaIFdHAEBBAEBCgEBgzUBAQEBAYIDjkOoYoQzh2hTAQIBAQEBAQITAQEBCgsJCR2FGQaBCVFXGYhsBAGqY4QUhyKGNoYoiFIFiGWSEoF6jzKQXkmRaoFdg2QMRhyBXnGIWAEBAQ X-IPAS-Result: A1AyAAAeyFpYhyIeaIFdHAEBBAEBCgEBgzUBAQEBAYIDjkOoYoQzh2hTAQIBAQEBAQITAQEBCgsJCR2FGQaBCVFXGYhsBAGqY4QUhyKGNoYoiFIFiGWSEoF6jzKQXkmRaoFdg2QMRhyBXnGIWAEBAQ X-IronPort-AV: E=Sophos;i="5.33,384,1477972800"; d="scan'208";a="5887166" Received: from emsm-gh1-uea10.corp.nsa.gov (HELO emsm-gh1-uea10.nsa.gov) ([10.208.41.36]) by goalie.tycho.ncsc.mil with ESMTP; 21 Dec 2016 13:22:21 -0500 IronPort-PHdr: =?us-ascii?q?9a23=3AWI8qLRLYZTTaNNE7kNmcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgRI/zxwZ3uMQTl6Ol3ixeRBMOAuqkC27Cd4v+ocFdDyK7JiGoFfp1IWk1Nou?= =?us-ascii?q?QttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZr?= =?us-ascii?q?KeTpAI7SiNm82/yv95HJbQhFgDSwbalxIRmoogncsssbipZ+J6gszRfEvmFGcP?= =?us-ascii?q?lMy2NyIlKTkRf85sOu85Nm7i9dpfEv+dNeXKvjZ6g3QqBWAzogM2Au+c3krgLD?= =?us-ascii?q?QheV5nsdSWoZjBxFCBXY4R7gX5fxtiz6tvdh2CSfIMb7Q6w4VSik4qx2ThLjlS?= =?us-ascii?q?UJOCMj8GzPisJ+kr9VrhyiqRJ4wYHUbpqYOOZicq7HYd8XX3ZNUtpXWidcAo28?= =?us-ascii?q?dYwPD+8ZMOhAronyu1wOrR+kCgm3GejhyThIhnjt3a0hzu8sFgfG3A08ENIJtH?= =?us-ascii?q?Tbts71OL0TUeCyy6nI1i7DYuhT2Try54nEaBchoeuDXb9pd8fa1EohFxvdg1mN?= =?us-ascii?q?t4DoOymZ2vkRv2WU9eZtW/6jh3Qppgx+ujSixMUhhpPUio8bxF3I7zt1zJo0KN?= =?us-ascii?q?GiRkN3f9ipG4ZKuS6ALYt5WMYiTnlouCkkzr0Gvoa2fC0FyZg63RLfc/uHc4yI?= =?us-ascii?q?4xL/SumePTd4hHRkeLKmmha971KsyurmVsm7yFpKryxFncfQtn0VyhDf9MyKRu?= =?us-ascii?q?Fg8ku91juDzQ7e5v1eLU06mqfXM5shzaQxlpoXv0TDBCj2mEDugaGLaksq5/Sk?= =?us-ascii?q?5vz8Yrjop5GcKZd5hQPxPKk2n8yyDus5PhIJX2iB9uSxzLvj/UzlT7VNiv05iL?= =?us-ascii?q?LZvIrbJcQcoa65GBRV35045Ba4Ejem1sgXkmccLF5ffRKKgIfoN0vJIPDiAvez?= =?us-ascii?q?m06snytzx/DaIr3hBY3ALmPdn7flfLZ97VNcyQUowNBD55NbFrEBIPXpVk/3r9?= =?us-ascii?q?zXFAU1MwOzw+b5W51B0dYFVGaOBLKJGL/Dul+PoOQ0Kq+DY5FGliz6Lq0D5vXp?= =?us-ascii?q?iXYi0X4aerKylc8RaXu/Gv19ZUSeZmH3qtJdASENpAVoH7+is0GLTTMGPyX6ZK?= =?us-ascii?q?k7/DxuUI8=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0GNAAA0yFpYhyIeaIFdHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBgwoBAQEBAYIDjkOoYoQzh2hTAQEBAQEBAQECAQIQAQEBCgsJCR0?= =?us-ascii?q?wgjMYgh4GgQlRVxmIbAQBqmOEFIcihjaGKIhSBYhlkhKBeo8ykF5JkWqBXoNkD?= =?us-ascii?q?EYcgV5xiFgBAQE?= X-IPAS-Result: =?us-ascii?q?A0GNAAA0yFpYhyIeaIFdHAEBBAEBCgEBFwEBBAEBCgEBgwo?= =?us-ascii?q?BAQEBAYIDjkOoYoQzh2hTAQEBAQEBAQECAQIQAQEBCgsJCR0wgjMYgh4GgQlRV?= =?us-ascii?q?xmIbAQBqmOEFIcihjaGKIhSBYhlkhKBeo8ykF5JkWqBXoNkDEYcgV5xiFgBAQE?= X-IronPort-AV: E=Sophos;i="5.33,384,1477958400"; d="scan'208";a="2187928" Received: from mx1.polytechnique.org ([129.104.30.34]) by emsm-gh1-uea10.nsa.gov with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Dec 2016 18:22:12 +0000 Received: from localhost.localdomain (32.206.133.77.rev.sfr.net [77.133.206.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ssl.polytechnique.org (Postfix) with ESMTPSA id 9B4795647EF for ; Wed, 21 Dec 2016 19:22:11 +0100 (CET) From: Nicolas Iooss To: selinux@tycho.nsa.gov Subject: [PATCH v2 3/7] libsemanage/tests: test more cases of semanage_split*() Date: Wed, 21 Dec 2016 19:21:00 +0100 Message-Id: <20161221182104.16967-4-nicolas.iooss@m4x.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20161221182104.16967-1-nicolas.iooss@m4x.org> References: <20161221182104.16967-1-nicolas.iooss@m4x.org> X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Wed Dec 21 19:22:11 2016 +0100 (CET)) X-Org-Mail: nicolas.iooss.2010@polytechnique.org X-BeenThere: selinux@tycho.nsa.gov X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Security-Enhanced Linux \(SELinux\) mailing list" List-Post: List-Help: MIME-Version: 1.0 Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP Before modifying semanage_split_on_space() and semanage_split(), test in test_utilities.c how these functions behave for example when several delimiter tokens are concatenated in the input string. While at it, fix the memory leaks which were present in libsemanage tests. Signed-off-by: Nicolas Iooss --- libsemanage/tests/test_utilities.c | 51 ++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/libsemanage/tests/test_utilities.c b/libsemanage/tests/test_utilities.c index 32cc33c1b510..b46f18db2a99 100644 --- a/libsemanage/tests/test_utilities.c +++ b/libsemanage/tests/test_utilities.c @@ -129,7 +129,7 @@ void test_semanage_is_prefix(void) void test_semanage_split_on_space(void) { - char *str = strdup("foo bar baz"); + char *str = strdup(" foo bar baz"); char *temp; if (!str) { @@ -137,24 +137,24 @@ void test_semanage_split_on_space(void) ("semanage_split_on_space: unable to perform test, no memory"); } temp = semanage_split_on_space(str); - if (strncmp(temp, "bar", 3)) { - CU_FAIL("semanage_split_on_space: token did not match"); - } - temp = semanage_split_on_space(temp); - if (strncmp(temp, "baz", 3)) { - CU_FAIL("semanage_split_on_space: token did not match"); - } - temp = semanage_split_on_space(temp); - if (strcmp(temp, "")) { - CU_FAIL("semanage_split_on_space: token did not match"); - } + CU_ASSERT_STRING_EQUAL(temp, "bar baz"); + free(str); + str = temp; + + temp = semanage_split_on_space(str); + CU_ASSERT_STRING_EQUAL(temp, "baz"); + free(str); + str = temp; + temp = semanage_split_on_space(str); + CU_ASSERT_STRING_EQUAL(temp, ""); free(str); + free(temp); } void test_semanage_split(void) { - char *str = strdup("foo1 foo2 foo:bar"); + char *str = strdup("foo1 foo2 foo:bar:"); char *temp; if (!str) { @@ -163,13 +163,24 @@ void test_semanage_split(void) return; } temp = semanage_split(str, NULL); - CU_ASSERT_NSTRING_EQUAL(temp, "foo2", 4); - temp = semanage_split(temp, ""); - CU_ASSERT_NSTRING_EQUAL(temp, "foo", 3); - temp = semanage_split(temp, ":"); - CU_ASSERT_NSTRING_EQUAL(temp, "bar", 3); + CU_ASSERT_STRING_EQUAL(temp, "foo2 foo:bar:"); + free(str); + str = temp; + temp = semanage_split(str, ""); + CU_ASSERT_STRING_EQUAL(temp, "foo:bar:"); free(str); + str = temp; + + temp = semanage_split(str, ":"); + CU_ASSERT_STRING_EQUAL(temp, "bar:"); + free(str); + str = temp; + + temp = semanage_split(str, ":"); + CU_ASSERT_STRING_EQUAL(temp, ""); + free(str); + free(temp); } void test_semanage_list(void) @@ -242,6 +253,8 @@ void test_semanage_rtrim(void) CU_ASSERT_STRING_EQUAL(str, "/blah/foo/bar/b"); semanage_rtrim(str, '/'); CU_ASSERT_STRING_EQUAL(str, "/blah/foo/bar"); + + free(str); } void test_semanage_findval(void) @@ -252,6 +265,7 @@ void test_semanage_findval(void) } tok = semanage_findval(fname, "one", NULL); CU_ASSERT_STRING_EQUAL(tok, ""); + free(tok); rewind(fptr); tok = semanage_findval(fname, "one", ""); CU_ASSERT_STRING_EQUAL(tok, ""); @@ -259,6 +273,7 @@ void test_semanage_findval(void) rewind(fptr); tok = semanage_findval(fname, "sigma", "="); CU_ASSERT_STRING_EQUAL(tok, "foo"); + free(tok); } int PREDICATE(const char *str)