Commit Graph

14255 Commits

Author SHA1 Message Date
Narayan Kamath 9916e0b43d am 46745cb2: am 4d0cb5e8: Merge "Reserve space on disk using fallocate"
* commit '46745cb244e864e9d4453d912f2e8a8ae7926a42':
  Reserve space on disk using fallocate
2015-04-20 10:09:43 +00:00
Narayan Kamath 46745cb244 am 4d0cb5e8: Merge "Reserve space on disk using fallocate"
* commit '4d0cb5e8064cecb25cd7bce7e9932f95a9bef7f4':
  Reserve space on disk using fallocate
2015-04-20 09:58:32 +00:00
Narayan Kamath 4d0cb5e806 Merge "Reserve space on disk using fallocate" 2015-04-20 09:49:36 +00:00
Łukasz Szymczyk e1d5a6aa5c Reserve space on disk using fallocate
There were crashes when android failed to extract
zip archives due to out of free space on disk, with stacks like:

  #00 pc 00000000000156b0 /system/lib64/libc.so (memcpy+176)
  #01 pc 000000000002e5b8 /system/lib64/libandroidfw.so
  #02 pc 000000000002f488 /system/lib64/libandroidfw.so (ExtractToMemory+328)
  #03 pc 000000000002f5c8 /system/lib64/libandroidfw.so (ExtractEntryToFile+268)
  #04 pc 00000000000287d8 /system/lib64/libandroidfw.so (android::ZipFileRO::\
  uncompressEntry(void*, int) const+12)

Space for the file is now allocated using fallocate rather than
ftruncate, since ftruncate dont actually reserve space on disk. When writes
to the mmaped pointer fails to be realized due to out of space SIGBUS
is the result. With this change we make sure that there is space available
before mmaping the pointer.

Change-Id: Ic5e8c33dbe729edb57919dacff73811b34cc2dc2
2015-04-20 09:49:26 +00:00
Elliott Hughes 17649e0f1d am 59d3779d: am 924869d4: am 34c91edd: Merge "Fix the Windows adb build."
* commit '59d3779d2ba96f8806e667461d8aece0b858c6cc':
  Fix the Windows adb build.
2015-04-20 02:34:30 +00:00
Elliott Hughes 59d3779d2b am 924869d4: am 34c91edd: Merge "Fix the Windows adb build."
* commit '924869d4eeb0926b991d1369f59b81419d251d52':
  Fix the Windows adb build.
2015-04-19 20:49:08 +00:00
Elliott Hughes 924869d4ee am 34c91edd: Merge "Fix the Windows adb build."
* commit '34c91eddb09ab86ffe6c965b25c5253c37ded227':
  Fix the Windows adb build.
2015-04-19 20:39:09 +00:00
Elliott Hughes 34c91eddb0 Merge "Fix the Windows adb build." 2015-04-19 20:30:26 +00:00
Elliott Hughes 53daee6a2b Fix the Windows adb build.
It looks like we can't use clang on Windows yet because libc++ isn't ready.
So move back to GCC for the Windows host clang. Work around the mingw
printf format string problems that made us want to switch to clang in the
first place, and #include "sysdeps.h" in adb_utils.cpp to work around the
absence of lstat(2) on Windows.

Change-Id: Icd0797a8c0c2d1d326bdd704ba6bcafcbaeb742f
2015-04-19 13:17:01 -07:00
Johan Redestig 4f673306fc Setup signal handler before any exec command
Fixes init deadlock when an exec command was called
in an on-init section.

The exec command handling relies on that the signal handler
mechanism is working to know when to continue executing
commands.

Change-Id: Ib0ce75ffad7cf3bf926c93d0506b2fe3e5a92630
2015-04-18 14:18:25 +02:00
Elliott Hughes 3fc3a67c53 am 835df4ae: am f08baf82: am 623aa1c4: Merge "Use escape_arg in "adb backup"."
* commit '835df4aebc9ec81ae97c792119796abef3057f5d':
  Use escape_arg in "adb backup".
2015-04-18 04:23:28 +00:00
Elliott Hughes 835df4aebc am f08baf82: am 623aa1c4: Merge "Use escape_arg in "adb backup"."
* commit 'f08baf8212de9ac65eb5b3ad2e6c3821d0b5faaf':
  Use escape_arg in "adb backup".
2015-04-18 03:58:50 +00:00
Elliott Hughes 5498adefb0 Use ' quoting to escape arguments.
The specific motivating case is "text;ls;1.apk", but rather than continue
adding individual characters to the list of characters to be escaped, let's
just switch to quote all arguments with ', which only leaves ' itself to be
escaped.

Bug: 20323053
Bug: 19734868
Change-Id: I8bd71db9373bc2d1169fc11e46c889da6638550a
2015-04-17 20:55:04 -07:00
Elliott Hughes f08baf8212 am 623aa1c4: Merge "Use escape_arg in "adb backup"."
* commit '623aa1c47a51990259fbbc271d7f9f40046153fd':
  Use escape_arg in "adb backup".
2015-04-18 03:47:53 +00:00
Elliott Hughes 623aa1c47a Merge "Use escape_arg in "adb backup"." 2015-04-18 03:37:14 +00:00
Elliott Hughes 6c34bbaa68 Use escape_arg in "adb backup".
This doesn't fix the injection vulnerability, but it makes "adb backup"
no worse than the other commands, and lets me fix them all at once.

Bug: 20323053
Change-Id: I39843c065d9d738b6b7943b2ffd660e4a031cc36
2015-04-17 20:30:09 -07:00
Elliott Hughes f2999ce988 am dd586f3e: am 613584a2: am 81fa3039: Merge "Remove yet more fixed-length buffers (and their overruns)."
* commit 'dd586f3e27e0bc5a75adc104c9144bc686bc08ca':
  Remove yet more fixed-length buffers (and their overruns).
2015-04-18 01:42:50 +00:00
Elliott Hughes dd586f3e27 am 613584a2: am 81fa3039: Merge "Remove yet more fixed-length buffers (and their overruns)."
* commit '613584a24bde3adbbc7ff003eb58328387ffb7c3':
  Remove yet more fixed-length buffers (and their overruns).
2015-04-18 01:21:03 +00:00
Elliott Hughes 613584a24b am 81fa3039: Merge "Remove yet more fixed-length buffers (and their overruns)."
* commit '81fa3039fa7b5c6a18747cf5bdac32a1c6091427':
  Remove yet more fixed-length buffers (and their overruns).
2015-04-18 01:10:38 +00:00
Elliott Hughes 81fa3039fa Merge "Remove yet more fixed-length buffers (and their overruns)." 2015-04-18 01:03:14 +00:00
Elliott Hughes 20795b420a am cf3165bd: am 3621ee6f: am 340e62f0: Merge "Fix comment typo."
* commit 'cf3165bd97f322c8a71ce7f7fdb953975fc5c6e1':
  Fix comment typo.
2015-04-18 01:01:53 +00:00
Elliott Hughes a7090b94c1 Remove yet more fixed-length buffers (and their overruns).
Bug: 20317724
Change-Id: If137fc96f5f23576ccecd388ac87afefa47337c6
2015-04-17 17:58:35 -07:00
Elliott Hughes cf3165bd97 am 3621ee6f: am 340e62f0: Merge "Fix comment typo."
* commit '3621ee6fdbca9ce405b20d4c9b94a7c444d13844':
  Fix comment typo.
2015-04-18 00:39:05 +00:00
Elliott Hughes 3621ee6fdb am 340e62f0: Merge "Fix comment typo."
* commit '340e62f05e27c7665641e68c5d0654e310e251fb':
  Fix comment typo.
2015-04-18 00:28:51 +00:00
Elliott Hughes 340e62f05e Merge "Fix comment typo." 2015-04-18 00:17:34 +00:00
Elliott Hughes 1daf86aa20 Fix comment typo.
Change-Id: I2d7082c44123e90d74b2669ab29d787b9aa64863
2015-04-17 17:08:16 -07:00
Elliott Hughes 2ce08c7f8b am 54b3aa93: am c0e6eebf: am 8d2abbea: Merge "Switch adb over to clang."
* commit '54b3aa93edbc4aeb094c7767e943518d2e4416a8':
  Switch adb over to clang.
2015-04-17 23:25:57 +00:00
Elliott Hughes f71d818151 am cc51fab7: am a2fd3128: am 61a004c0: Merge "Fix more buffer overruns."
* commit 'cc51fab7e15489e59a09e92ba39a5eec17493e20':
  Fix more buffer overruns.
2015-04-17 23:04:42 +00:00
Elliott Hughes 54b3aa93ed am c0e6eebf: am 8d2abbea: Merge "Switch adb over to clang."
* commit 'c0e6eebfae9818201ed4ad0d4aa5487f85a978ab':
  Switch adb over to clang.
2015-04-17 23:04:19 +00:00
Elliott Hughes c0e6eebfae am 8d2abbea: Merge "Switch adb over to clang."
* commit '8d2abbea76f13b76ef814ff426d88f70526f6923':
  Switch adb over to clang.
2015-04-17 22:53:14 +00:00
Elliott Hughes cc51fab7e1 am a2fd3128: am 61a004c0: Merge "Fix more buffer overruns."
* commit 'a2fd312840821ff4dd1e03fe4350928989e8d6e5':
  Fix more buffer overruns.
2015-04-17 22:43:15 +00:00
Elliott Hughes 8d2abbea76 Merge "Switch adb over to clang." 2015-04-17 22:42:36 +00:00
Elliott Hughes a2fd312840 am 61a004c0: Merge "Fix more buffer overruns."
* commit '61a004c05f100741048d284fa527ac28c242d0bc':
  Fix more buffer overruns.
2015-04-17 22:30:41 +00:00
Elliott Hughes 2083fa6b01 Switch adb over to clang.
Change-Id: Ib5511dcba56e80ffce6bc293d99251ccfd61c330
2015-04-17 15:27:13 -07:00
Elliott Hughes 61a004c05f Merge "Fix more buffer overruns." 2015-04-17 22:24:27 +00:00
Elliott Hughes 5830577bd8 Fix more buffer overruns.
Also add some tests.

Bug: 20323050
Change-Id: I9eaf3dc04efd85206663c4cca4f8c1208620a89a
2015-04-17 15:23:31 -07:00
Elliott Hughes 853777a87a am dcb0898c: am 50ba7354: am adc4a8b8: Merge "Use PRI* macros to fix the Windows build."
* commit 'dcb0898c31c0d8135724b998d846c3ddff76eabb':
  Use PRI* macros to fix the Windows build.
2015-04-17 21:54:19 +00:00
Elliott Hughes dcb0898c31 am 50ba7354: am adc4a8b8: Merge "Use PRI* macros to fix the Windows build."
* commit '50ba7354e0543c87b326d15822bca8b5e7f811dd':
  Use PRI* macros to fix the Windows build.
2015-04-17 21:32:53 +00:00
Elliott Hughes 50ba7354e0 am adc4a8b8: Merge "Use PRI* macros to fix the Windows build."
* commit 'adc4a8b8ce89d6ba2af3170b28ff652150e397e2':
  Use PRI* macros to fix the Windows build.
2015-04-17 21:20:58 +00:00
Elliott Hughes adc4a8b8ce Merge "Use PRI* macros to fix the Windows build." 2015-04-17 21:10:28 +00:00
Elliott Hughes 2940ccff86 Use PRI* macros to fix the Windows build.
Change-Id: Icd400be05c2bc726265832875b5a05dba7966847
2015-04-17 14:07:52 -07:00
Elliott Hughes c8ac9d3e53 am a2bee3af: am ace56f5c: am 3538b409: Merge "Remove various fixed-length buffers (and their overflows)."
* commit 'a2bee3af6fee5e64a02e320595c70acdd02f3b09':
  Remove various fixed-length buffers (and their overflows).
2015-04-17 20:25:04 +00:00
Elliott Hughes a2bee3af6f am ace56f5c: am 3538b409: Merge "Remove various fixed-length buffers (and their overflows)."
* commit 'ace56f5c3baef804a45afb43cd23ec2a753231f3':
  Remove various fixed-length buffers (and their overflows).
2015-04-17 20:04:54 +00:00
Elliott Hughes ace56f5c3b am 3538b409: Merge "Remove various fixed-length buffers (and their overflows)."
* commit '3538b40942b65927e65b446bca9842a9f915c5e3':
  Remove various fixed-length buffers (and their overflows).
2015-04-17 19:53:02 +00:00
Elliott Hughes 3538b40942 Merge "Remove various fixed-length buffers (and their overflows)." 2015-04-17 19:42:29 +00:00
Elliott Hughes 4668c5997e am 4f9b6ec4: am ef995f83: am 0b8ecb32: Merge "Remove extern "C" barriers to using C++."
* commit '4f9b6ec4b13ba2a923a3ba4983e4b28122d92eda':
  Remove extern "C" barriers to using C++.
2015-04-17 18:37:12 +00:00
Elliott Hughes 2510ec2686 am 66524967: am 3f82fef7: am 9a22039b: Merge "Show if authentication fails."
* commit '6652496798082bbaf5649ae31bb72e7d9e073503':
  Show $ADB_VENDOR_KEYS if authentication fails.
2015-04-17 18:00:45 +00:00
Elliott Hughes 2baae3a876 Remove various fixed-length buffers (and their overflows).
Bug: 20323052
Bug: 20323051
Bug: 20317728
Bug: 20317727
Bug: 20317726
Bug: 20317725
Change-Id: I57a5e30a5b7867715f55cee7429aa36d7ce21484
2015-04-17 10:59:34 -07:00
Elliott Hughes 4f9b6ec4b1 am ef995f83: am 0b8ecb32: Merge "Remove extern "C" barriers to using C++."
* commit 'ef995f832206c08e6e6374e0fa84698027c1f7b6':
  Remove extern "C" barriers to using C++.
2015-04-17 17:54:50 +00:00
Elliott Hughes 6652496798 am 3f82fef7: am 9a22039b: Merge "Show if authentication fails."
* commit '3f82fef75c4f45f8b23bef58ac67363e29de1c6e':
  Show $ADB_VENDOR_KEYS if authentication fails.
2015-04-17 17:47:13 +00:00