| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
adbd (and its dependencies) are marked as recovery_available:true so
that recovery version of the binary is built separately from the one for
system partition. This allows us to stop copying the system version to
the recovery partition and also opens up the way to enable shared
libraries in the recovery partition. Then we can also build adbd as a
dynamic executable.
Bug: 79146551
Test: m -j adbd.recovery
Change-Id: Ib95614c7435f9d0afc02a0c7d5ae1a94e439e32a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL updates the callback function signature in
sparse_file_callback() and sparse_file_foreach_chunk().
Before:
int sparse_file_callback(
struct sparse_file *s, bool sparse, bool crc,
int (*write)(void *priv, const void *data, int len), void *priv);
int sparse_file_foreach_chunk(
struct sparse_file *s, bool sparse, bool crc,
int (*write)(
void *priv, const void *data, int len, unsigned int block,
unsigned int nr_blocks),
void *priv);
After:
int sparse_file_callback(
struct sparse_file *s, bool sparse, bool crc,
int (*write)(void *priv, const void *data, size_t len), void *priv);
int sparse_file_foreach_chunk(
struct sparse_file *s, bool sparse, bool crc,
int (*write)(
void *priv, const void *data, size_t len, unsigned int block,
unsigned int nr_blocks),
void *priv);
The length (i.e. 'len') comes from the size of a chunk, which could be
legitimately larger than INT_MAX. Prior to this CL, callers (e.g.
write_sparse_data_chunk()) were already passing unsigned int to the
callbacks. When a chunk size exceeds INT_MAX, the callback would see a
negative value, which could lead to undesired behavior. For example,
out_counter_write(), as one of the internal callbacks in libsparse,
gives a wrong sum of chunk sizes, which in turn fails the fastboot
flashing when given a huge sparse image.
It also defines SPARSE_CALLBACK_USES_SIZE_T that allows clients to keep
their codes compatibile with both versions.
Bug: 78432315
Test: `m dist` (with matching changes to all the clients)
Test: Build fastboot and successfully flash a previously failing (huge)
sparse image.
Change-Id: Iac4bcf7b57039d08af3c57f4be00d75f6b693d93
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Bug: N/A
Test: builds
Change-Id: I1f32b202e353414e74ace87a7d5b495b5deb5f99
Merged-In: I1f32b202e353414e74ace87a7d5b495b5deb5f99
|
| |
| |
| |
| |
| |
| |
| |
| | |
memset is declared in <string.h>
Test: builds and works on host
Change-Id: I224a01c78ee1d0c2f8d5e86eef10c84c8960cbc0
|
|/
|
|
|
| |
Test: m host
Change-Id: Ib276431d13b3e1bd243f84a80f69aafc12e71aac
|
|\
| |
| |
| |
| |
| |
| |
| | |
ab74c778df
am: cbd8d9d4f5
Change-Id: I3c7afcd7a3a3bab4460123751d0a5696cb1892c6
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the input file isn't a multiple of block_size, count the trailing
bit as a block in the output, otherwise bootloader will try to write
past the last declared block in the sparse file.
Test: Run sparse_test
Bug: 37339998
Change-Id: Iec143107d15795c6a6f4d3ea7b7515f6f16adcae
|
|\|
| |
| |
| |
| |
| | |
am: 5a07296873
Change-Id: I0e96c2b6212b115e4a3098cf462d5e5686a6de4a
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Switch vnsprintf to StringPrintf to avoid off-by-one, and switch
sparse_read.c to cpp.
Test: fastboot flash normal image with smaller sparse limit
Change-Id: Ia399b167625deb271bfd0ee3273071306d71c4d4
|
|\|
| |
| |
| |
| |
| |
| |
| | |
b0c395955d am: 7b8d66e7cc am: 11b65cf3be
am: 092a732ef2
Change-Id: I3d9639af9f9f66742660edbbf62f73909c0d6915
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This now combines all the "libsparse" libraries into the same soong
target. A minor side-effect of this change is that the libsparse
static library depends on the libz shared library instead of the libz
static library. This minor change has no effect since targets using
the static libsparse library need to explicitly include either the
static libz or the shared one.
Bug: 34220783
Change-Id: I8f41586cf4c3336791cfa57ab4f5ae59a76d7ffa
|
|\|
| |
| |
| |
| |
| |
| |
| | |
aec7316546
am: 669716d27c
Change-Id: I75f9c115fe178008174f1fea8cb8b890b83c2543
|
| |
| |
| |
| |
| |
| | |
Test: m libsparse
Change-Id: I04bd3912bb4364e591b064ec2aab782cf02f6bd7
|
|\|
| |
| |
| |
| |
| |
| |
| | |
am: faaeda8e12 am: 4179f2ec65
am: c0422d1b2a
Change-Id: I812e1f268fa8c3a1ba8b5555319424cadf07a707
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
CHUNK_HEADER structure type allows DATA chunk to be up to MAX_UINT
large.
The write() callback LEN parameter should be unsigned int.
Also:
- write() callback should continue to write data if less than expected
data have been written.
- gzerror() returns LEN on success, 0 otherwise
Test: manual
Change-Id: Id46d664b84c1a506f419524fe28055f784c2ae7a
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
2e7e065db9 am: 04819403d6
am: c9dc124e2f
Change-Id: I2cfb73fc12da1bb6396bfdd8f638b9ce977f84bc
|
| |
| |
| |
| |
| |
| | |
Bug: http://b/23392815
Test: builds
Change-Id: I7fce8de1f0e2314170cce456cd49346dcee9d134
|
|/
|
|
|
|
|
|
|
|
|
| |
Adds CSV output option to output blocks to a CSV file.
Adds option to output SHA1 sum for each block.
Addressed misc lint errors
Test: compared output with previous version
Change-Id: I555c8816c6ef2b0b69dac2b9789fbfd8b2786a49
|
|
|
|
|
|
|
| |
These modules have their dependencies satisfied, and aren't doing
anything strange.
Change-Id: I72039a15256cbd5e5eee0d79a15d66d74a6c087d
|
|
|
|
|
| |
Bug: 28705665
Change-Id: I3dd5c086787f5e48ab100a71a42109ea0e417bf9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
system/core/libsparse/sparse_read.c:260:51: warning: Dereference of null pointer (loaded from variable 'crc_ptr')
ret = process_crc32_chunk(fd, chunk_data_size, *crc_ptr);
system/core/libsparse/sparse_read.c:404:9: warning: Potential leak of memory pointed to by 'buf'
return 0;
Fixes leak in sparse_file_read_normal, and null pointer dereference
crash if an image with an obsolete CRC chunk was read with CRC checking
disabled.
Bug: 26904425
Change-Id: Ibc72cd37602929ae2c248bea1cdd1d22ea03baaf
|
|
|
|
|
|
|
|
| |
make_ext4fs doesn't write out a CRC chunk, and append2simg doesn't
either, but append2simg was still performing a CRC on every input
block. Cuts append2simg time in half.
Change-Id: I678f807abbb741042461ed68a0f61b406d3665fb
|
|
|
|
| |
Change-Id: I9c497a3ebc24ca1db92d0b9d3d1e9ac49dc40f75
|
|
|
|
|
|
|
|
|
|
|
| |
The Clang/GCC formatting warning triggers for usage of %lld with off_t
on 64-bit because it's defined as a long int, not a long long int. It
isn't important, but it's technically undefined.
This fix is in anticipation of adding __attribute__((format(...))) to
many functions where it is currently missing.
Change-Id: I2bf33e6563a2892d2f54d7c582cbdeadf867e84f
|
|
|
|
|
|
|
|
| |
CYGWIN is not supported, USE_MINGW and HOST_OS==windows are being
replaced with LOCAL_..._windows variables.
Bug: 23566667
Change-Id: I3e4a1e4097dc994cf5abdce6939e83a91758fd75
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch is used to fix two Bugs in backed_block.c
First, fix wrong comparing string way: we should use strcmp rather than
just compare their address. Second, fix using illegal memory risk in
bbl->last_used pointer. When entering queue_bb function,
bbl->last_used = new_bb, but in the following code if
queue_bb(xx, bb, new_bb) return ok, the space of new_bb is released. So
next time, if you use bbl->last_used pointer, may cause segment fault !
Change-Id: I6abb505f9b903b697448639fc64fb7518df5cca1
|
|
|
|
| |
Change-Id: Ic6b1721859937984619a262c459f1f734d81c149
|
|
|
|
| |
Change-Id: Ia5b7cedd88809b0e421a056704d25afa190470b8
|
|
|
|
|
|
|
|
|
| |
I caught the fastboot host command sending more data than the fastboot
device can accept. Fastboot host command was sending 36 surplus bytes
because of 3 skip chunks that were not taken into account in
move_chunks_up_to_len() algorithm.
Change-Id: I39a4a033c9b15893bd70e553f17116735ee4a48e
|
|
|
|
|
| |
Change-Id: I0c5607f7aa5e964abc2031bbe71ff5c6e6ef56cc
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
sparse_file_write_block calls functions that might failed. This patch
makes sparse_file_write_block catch the error code and propagate it.
Without this patch, fastboot crashes on a segmentation fault if
usb_write() fail during a sparse file image flashing.
Change-Id: If9c0e8dfac8fa380628a2504e13abe8cf7d62726
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
|
|
|
|
|
|
| |
Removed unnecessary external/zlib reference from LOCAL_C_INCLUDES
Change-Id: Ib61da00dc1e0eac89a68f244881b12e2a4e92e64
|
|\
| |
| |
| |
| | |
* commit 'd4d096370154492433f02df56a7508eb99f564e2':
libsparse: turn on -Werror
|
| |
| |
| |
| |
| |
| | |
- Deal with some -Wunused issues
Change-Id: I9667d74c0dfbe55c625e65b9d44d7c6f861c455d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
append2simg causes libsparse to write mmapped data from a file
back to that same file. On btrfs, this sometimes causes a page
of zeroes to be written instead of the file data. Work around
the issue by writing the output to a temporary file and then
renaming it over the original file.
Change-Id: Ia194b6ba0ddb8548747b63292b523756f544706a
|
|\|
| |
| |
| |
| |
| |
| | |
from C++"
* commit '37d39eba0b3da124be747dd6a014332817135264':
libsparse: allow including from C++
|
| |
| |
| |
| | |
Change-Id: I3788fd07e2b52430a410f85fb79dc886c6a07fea
|
|\|
| |
| |
| |
| |
| |
| | |
warning messages"
* commit 'd9f1702a10541b59cfc9582762360d3347712e09':
libsparse: deal with build warning messages
|
| |
| |
| |
| |
| |
| |
| | |
- mostly unused parameters, added defs.h to hold __unused macro
- read_all prototype not included, added output_file.h to acquire
Change-Id: Ib7ee00614acab53a6bd6a64f7e26a8c13dbe6297
|
|\|
| |
| |
| | |
Change-Id: I704e3159d529e436e060cb66c1739ef8e7b612d4
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This cleans up most of the size-related problems in system/core.
There are still a few changes needed for a clean 64-bit build,
but they look like they might require changes to things like the
fastboot protocol.
Change-Id: I1560425a289fa158e13e2e3173cc3e71976f92c0
|
|\|
| |
| |
| |
| |
| |
| | |
system/core bugs."
* commit '9259663cdb8f15226844e3ecfc6e3aa53614ad03':
Fix a bunch of small system/core bugs.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Missing frees in:
adb/file_sync_client.c
fastboot/fastboot.c
libsparse/output_file.c
Missing closedirs in:
adb/file_sync_service.c
cpio/mkbootfs.c
libcutils/dir_hash.c
Potential buffer overrun in:
gpttool/gpttool.c
Incorrect NULL check in:
libsparse/backed_block.c
Bug: https://code.google.com/p/android/issues/detail?id=61564
Change-Id: If97838a9e73a77aef7f416c31c237ce1fca4ce21
|
|\|
| |
| |
| |
| |
| |
| | |
implementation of mmap64()"
* commit '4d5d633bf862dbb0a960019e80fadc40c93177f0':
libsparse: Use BIONIC implementation of mmap64()
|
| |
| |
| |
| |
| | |
Change-Id: I63692629d3a62b7aee21202b67241904b1cc9789
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
|
|/
|
|
|
|
|
|
| |
Append2simg is a small utility designed to glue data to the end
of a sparse image. Beware that it doesn't do anything clever with
that data.
Change-Id: I33af330cb4f77e0842375797a35aebbb6af60163
|
|
|
|
|
|
|
| |
Fix the issue that "out" pointer is dereferenced without checking.
Change-Id: I76a57ad7309841218231346f4807ef2be8628737
Signed-off-by: Hong-Mei Li <a21834@motorola.com>
|
|
|
|
| |
Change-Id: I5006b467978071f9107babe532efa71d05061580
|
|
|
|
|
|
|
| |
last_block * s->block_size can overflow when writing large filesystems,
cast to 64 bits before multiplying.
Change-Id: I3e54097852ce7d0fd271eab53d65e666284898e4
|