{"push_id":1007115116,"size":26,"distinct_size":0,"ref":"refs/heads/jk/valgrind-fixups","head":"0b2bbd44cab5cfd2c0ec50f145e829bd2f57fbc5","before":"30ff1ee3b1d93238ce450d0eed5b4193a8ec8f3a","commits":[{"sha":"a1283866bab1cd12da57b3e427664180f5dee333","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"t5313: test bounds-checks of corrupted/malicious pack/idx files\n\nOur on-disk .pack and .idx files may reference other data by\noffset. We should make sure that we are not fooled by\ncorrupt data into accessing memory outside of our mmap'd\nboundaries.\n\nThis patch adds a series of tests for offsets found in .pack\nand .idx files. For the most part we get this right, but\nthere are two tests of .idx files marked as failures: we do\nnot bounds-check offsets in the v2 index's extended offset\ntable, nor do we handle .idx offsets that overflow a signed\noff_t.\n\nWith these tests, we should have good coverage of all\noffsets found in these files. Note that this doesn't cover\n.bitmap files, which may have similar bugs.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/a1283866bab1cd12da57b3e427664180f5dee333"},{"sha":"47fe3f6ef0f5a336db90d816c5fb4330ffa23668","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"nth_packed_object_offset: bounds-check extended offset\n\nIf a pack .idx file has a corrupted offset for an object, we\nmay try to access an offset in the .idx or .pack file that\nis larger than the file's size.  For the .pack case, we have\nuse_pack() to protect us, which realizes the access is out\nof bounds. But if the corrupted value asks us to look in the\n.idx file's secondary 64-bit offset table, we blindly add it\nto the mmap'd index data and access arbitrary memory.\n\nWe can fix this with a simple bounds-check compared to the\nsize we found when we opened the .idx file.\n\nNote that there's similar code in index-pack that is\ntriggered only during \"index-pack --verify\". To support\nboth, we pull the bounds-check into a separate function,\nwhich dies when it sees a corrupted file.\n\nIt would be nice if we could return an error, so that the\npack code could try to find a good copy of the object\nelsewhere. Currently nth_packed_object_offset doesn't have\nany way to return an error, but it could probably use \"0\" as\na sentinel value (since no object can start there). This is\nthe minimal fix, and we can improve the resilience later on\ntop.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/47fe3f6ef0f5a336db90d816c5fb4330ffa23668"},{"sha":"13e0b0d3dc76353632dcb0bc63cdf03426154317","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"use_pack: handle signed off_t overflow\n\nA v2 pack index file can specify an offset within a packfile\nof up to 2^64-1 bytes. On a system with a signed 64-bit\noff_t, we can represent only up to 2^63-1. This means that a\ncorrupted .idx file can end up with a negative offset in the\npack code. Our bounds-checking use_pack function looks for\ntoo-large offsets, but not for ones that have wrapped around\nto negative. Let's do so, which fixes an out-of-bounds\naccess demonstrated in t5313.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/13e0b0d3dc76353632dcb0bc63cdf03426154317"},{"sha":"59223223f478b291c6dbe59ca0bca3c6178da7a0","author":{"email":"46f1a0bd5592a2f9244ca321b129902a06b53e03@drmicha.warpmail.net","name":"Michael J Gruber"},"message":"t/lib-httpd: load mod_unixd\n\nIn contrast to apache 2.2, apache 2.4 does not load mod_unixd in its\ndefault configuration (because there are choices). Thus, with the\ncurrent config, apache 2.4.10 will not be started and the httpd tests\nwill not run on distros with default apache config (RedHat type).\n\nEnable mod_unixd to make the httpd tests run. This does not affect\ndistros negatively which have that config already in their default\n(Debian type). httpd tests will run on these before and after this patch.\n\nSigned-off-by: Michael J Gruber <git@drmicha.warpmail.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/59223223f478b291c6dbe59ca0bca3c6178da7a0"},{"sha":"7465feba513a8bd3d47f27630ccc9ab7e82d916c","author":{"email":"024f400cd820cb2ddbe54c7fecfd01e45f30bb96@gmail.com","name":"Nguyễn Thái Ngọc Duy"},"message":"sha1_file.c: mark strings for translation\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/7465feba513a8bd3d47f27630ccc9ab7e82d916c"},{"sha":"7b6daf8d2fee1a9866b1d4eddbfaa5dbc42c5dbb","author":{"email":"955341c97b9d93a23c19524fc0105a6405902afe@web.de","name":"Torsten Bögershausen"},"message":"config.mak.uname: use clang for Mac OS X 10.6\n\nGcc under Mac OX 10.6 throws an internal compiler error:\n\nCC combine-diff.o\n    combine-diff.c: In function ‘diff_tree_combined’:\n    combine-diff.c:1391: internal compiler error: Segmentation fault\n\nwhile attempting to build Git at 5b442c4f (tree-diff: catch integer\noverflow in combine_diff_path allocation, 2016-02-19).\n\nAs clang that ships with the version does not have the same bug,\nmake Git compile under Mac OS X 10.6 by using clang instead of gcc\nto work this around, as it is unlikely that we will see fixed GCC\non that platform.\n\nLater versions of Mac OSX/Xcode only provide clang, and gcc is a\nwrapper to it.\n\nSigned-off-by: Torsten Bögershausen <tboegi@web.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/7b6daf8d2fee1a9866b1d4eddbfaa5dbc42c5dbb"},{"sha":"8d5b3325e72444d365ded113487d2345c365f6d3","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"compat/mingw: brown paper bag fix for 50a6c8e\n\nCommit 50a6c8e (use st_add and st_mult for allocation size\ncomputation, 2016-02-22) fixed up many xmalloc call-sites\nincluding ones in compat/mingw.c.\n\nBut I screwed up one of them, which was half-converted to\nALLOC_ARRAY, using a very early prototype of the function.\nAnd I never caught it because I don't build on Windows.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/8d5b3325e72444d365ded113487d2345c365f6d3"},{"sha":"4636f651234b3fe950246cd1aa2c8b0a5955ea6b","author":{"email":"024f400cd820cb2ddbe54c7fecfd01e45f30bb96@gmail.com","name":"Nguyễn Thái Ngọc Duy"},"message":"builtin/checkout.c: mark strings for translation\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/4636f651234b3fe950246cd1aa2c8b0a5955ea6b"},{"sha":"39ad4f39cc502c2a9c355d6b1eb62f30fca3d2c8","author":{"email":"024f400cd820cb2ddbe54c7fecfd01e45f30bb96@gmail.com","name":"Nguyễn Thái Ngọc Duy"},"message":"builtin/clone.c: mark strings for translation\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/39ad4f39cc502c2a9c355d6b1eb62f30fca3d2c8"},{"sha":"1823c619e9fa9d7826b4cfc58bf05815cf88eaed","author":{"email":"024f400cd820cb2ddbe54c7fecfd01e45f30bb96@gmail.com","name":"Nguyễn Thái Ngọc Duy"},"message":"ref-filter.c: mark strings for translation\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/1823c619e9fa9d7826b4cfc58bf05815cf88eaed"},{"sha":"13ad56f848976adc32fd190b4ab03f00360d40e8","author":{"email":"024f400cd820cb2ddbe54c7fecfd01e45f30bb96@gmail.com","name":"Nguyễn Thái Ngọc Duy"},"message":"trailer.c: mark strings for translation\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/13ad56f848976adc32fd190b4ab03f00360d40e8"},{"sha":"2a73b3dad09ef162eb5917e9e0d01d7c306f6b35","author":{"email":"a7f3b1612c245dae606b3b9617b4f52187fddb65@google.com","name":"Stefan Beller"},"message":"run-command: do not pass child process data into callbacks\n\nThe expected way to pass data into the callback is to pass them via\nthe customizable callback pointer. The error reporting in\ndefault_{start_failure, task_finished} is not user friendly enough, that\nwe want to encourage using the child data for such purposes.\n\nFurthermore the struct child data is cleaned by the run-command API,\nbefore we access them in the callbacks, leading to use-after-free\nsituations.\n\nSigned-off-by: Stefan Beller <sbeller@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/2a73b3dad09ef162eb5917e9e0d01d7c306f6b35"},{"sha":"296d6737331f6287f6be60f6230b51760ed11f98","author":{"email":"53fb8db7833fca1e1746dd8592f61048d350f64c@gmx.de","name":"Johannes Schindelin"},"message":"Mark win32's pthread_exit() as NORETURN\n\nThe pthread_exit() function is not expected to return. Ever. On Windows,\nwe call ExitThread() whose documentation claims: \"Ends the calling\nthread\", i.e. there is no condition in which this function simply\nreturns: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682659\n\nWhile at it, fix the return type to be void, as per\nhttp://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_exit.html\n\nPointed out by Jeff King, helped by Stefan Naewe, Junio Hamano &\nJohannes Sixt.\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/296d6737331f6287f6be60f6230b51760ed11f98"},{"sha":"f3858f8edcb91054cdc0b6f086ec34109582f67f","author":{"email":"fd432345609ae4d58c1aa629cb66ba96d1391622@kdbg.org","name":"Johannes Sixt"},"message":"t0001: fix GIT_* environment variable check under --valgrind\n\nWhen a test case is run without --valgrind, the wrap-for-bin.sh\nhelper script inserts the environment variable GIT_TEXTDOMAINDIR, but\nwhen run with --valgrind, the variable is missing. A recently\nintroduced test case expects the presence of the variable, though, and\nfails under --valgrind.\n\nRewrite the test case to strip conditially defined environment variables\nfrom both expected and actual output.\n\nSigned-off-by: Johannes Sixt <j6t@kdbg.org>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/f3858f8edcb91054cdc0b6f086ec34109582f67f"},{"sha":"839b6397be260592f5afd193279c5dbfb99ce093","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"t9700: fix test for perl older than 5.14\n\nCommit d53c2c6 (mingw: fix t9700's assumption about\ndirectory separators, 2016-01-27) uses perl's \"/r\" regex\nmodifier to do a non-destructive replacement on a string,\nleaving the original unmodified and returning the result.\n\nThis feature was introduced in perl 5.14, but systems with\nolder perl are still common (e.g., CentOS 6.5 still has perl\n5.10). Let's work around it by providing a helper function\nthat does the same thing using older syntax.\n\nWhile we're at it, let's switch to using an alternate regex\nseparator, which is slightly more readable.\n\nReported-by: Christian Couder <christian.couder@gmail.com>\nHelped-by: Dennis Kaarsemaker <dennis@kaarsemaker.net>\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/839b6397be260592f5afd193279c5dbfb99ce093"},{"sha":"2e7b6afcba4993a1a424725afaa508b2641fb416","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'js/mingw-tests'\n\n* js/mingw-tests:\n  t9700: fix test for perl older than 5.14","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/2e7b6afcba4993a1a424725afaa508b2641fb416"},{"sha":"bc0ffd41b92c8539fc7dbe27f256d8bae6b28d05","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'mg/httpd-tests-update-for-apache-2.4'\n\nThe way the test scripts configure the Apache web server has been\nupdated to work also for Apache 2.4 running on RedHat derived\ndistros.\n\n* mg/httpd-tests-update-for-apache-2.4:\n  t/lib-httpd: load mod_unixd","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/bc0ffd41b92c8539fc7dbe27f256d8bae6b28d05"},{"sha":"090de6b289ff2d9fc1c82ef85069bd6cba296d63","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'jk/pack-idx-corruption-safety'\n\nThe code to read the pack data using the offsets stored in the pack\nidx file has been made more carefully check the validity of the\ndata in the idx.\n\n* jk/pack-idx-corruption-safety:\n  sha1_file.c: mark strings for translation\n  use_pack: handle signed off_t overflow\n  nth_packed_object_offset: bounds-check extended offset\n  t5313: test bounds-checks of corrupted/malicious pack/idx files","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/090de6b289ff2d9fc1c82ef85069bd6cba296d63"},{"sha":"01942002b3cb88f607a5e97b9fa5d1b104e07af5","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'tb/avoid-gcc-on-darwin-10-6'\n\nOut-of-maintenance gcc on OSX 10.6 fails to compile the code in\n'master'; work it around by using clang by default on the platform.\n\n* tb/avoid-gcc-on-darwin-10-6:\n  config.mak.uname: use clang for Mac OS X 10.6","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/01942002b3cb88f607a5e97b9fa5d1b104e07af5"},{"sha":"49a435219730b8a0be22887f9e9c4d94b36d3f1f","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'nd/i18n-2.8.0'\n\n* nd/i18n-2.8.0:\n  trailer.c: mark strings for translation\n  ref-filter.c: mark strings for translation\n  builtin/clone.c: mark strings for translation\n  builtin/checkout.c: mark strings for translation","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/49a435219730b8a0be22887f9e9c4d94b36d3f1f"}]}