| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Bug: http://b/119818070 "app crashes when reading asset of zero length"
Test: ran tests
Change-Id: Idd2ad6f6e72c8e445aff78a460fac96dea41c950
|
| |
|
|
|
|
|
|
|
|
|
|
| |
unique_fd's destructor potentially mangling errno makes it difficult to
use correctly in code that sets errno (or, in reality, it makes it so
that errno values get randomly stomped upon if close actually sets
errno, because no one accounts for this case).
Preserve errno ourselves to avoid this.
Test: treehugger
Change-Id: Ib06e6f65866d86fff4032b2311021eaf9226a1af
|
| |
|
|
|
|
|
|
| |
Bug: none
Test: build and use it manually.
Test: run libbase_tests.
Change-Id: I50b5251e8da23ddce94711807859612bf890406b
|
| |
|
|
|
|
|
| |
The use in implicit conversion is intentional.
Test: m
Change-Id: I6c756e772b274e8a525ba2ad792cc4a8e1fc0176
|
| |
|
|
|
|
|
|
|
|
| |
sehr points out that we already have two bugs caused by not doing this:
file.cpp has a call to pread with an off64_t that gets truncated, and
mapped_file.cpp does similar with mmap.
Bug: N/A
Test: ran tests
Change-Id: Ia098a836457e5adf109541235ad71c0ad7219da8
|
| |
|
|
|
| |
Test: Builds.
Change-Id: Ia8b79154902503cdd774dc3b4523466123b4324c
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently bionic only stores the first invocation of
android_set_abort_message, libbase splits the logging invocations
into discrete lines, and liblog automatically calls bionic when
fatal severity is used. This leads to only the first line of
LOG(FATAL) being stored for tombstoned.
Eagerly set the abort message directly before logging when the
severity is FATAL. This ensures the complete message will be
available.
Bug: 120506942
Test: m
Test: manual
Change-Id: I104d6960a2b1f66f21f5ada383fb4ab0f35e96a9
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
unique_fd::operator int was a mistake...
Bug: http://b/118818285
Test: treehugger
Change-Id: I3775dd7b4666abec8b5ce2a43092d9601eb1128f
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Recursively delete all contents in a temporary directory in the
destructor. If the caller wants the contents preserved, then
call DoNotRemove().
Test: compile
Bug: 119313545
Change-Id: I3601c06334920055a60dd3074b249824f4d6f510
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Recursively delete all contents in a temporary directory in the
destructor.
Test: compile
Bug: 119313545
Change-Id: I9570a8591f4e51f8f4f1157e75ccc1b781f8a19d
|
| | |
| |
| |
| |
| |
| | |
Test: compile
Bug: 119313545
Change-Id: I2917847f0e90df94d74f4bfc0b13fbc6a5f243c3
|
| | |
| |
| |
| |
| |
| | |
Test: compile
Bug: 119313545
Change-Id: I4f7ad84743e974b4b4d1d7256088f6c8b749a237
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow a wider legitimate audience to use TemporaryFile and
TemporaryDir by moving them from android-base/test_utils.h to
android-base/file.h.
Test: compile
Bug: 119313545
Change-Id: Ie558c5873ce5b3937914918b6bfb427e5b61d0da
|
| |/
|
|
|
|
|
|
|
|
|
|
|
| |
Using fdopendir with unique_fd correctly is more annoying than it
should be, because fdopendir doesn't close the file descriptor
received upon failure.
Add an android::base::Fdopendir that does that handles the failure
case.
Bug: 118818285
Test: treehugger
Change-Id: I5dbbe0eb82242bc7716f84735ffc7644febcfd65
|
| |
|
|
|
|
| |
Bug: 117568547
Test: run libbase_test.
Change-Id: I5a6a412733c594f5a116f333b8e091d2d9f60e06
|
| |
|
|
|
|
|
|
|
| |
Given that I can't actually go back in time and just make bionic's
`off_t` be 64-bit.
Bug: N/A
Test: builds
Change-Id: Ic93336b07bffc0977bd0e9caad6a22ce29ca06ed
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
I'll come back for the better fix later...
Bug: N/A
Test: builds
Change-Id: I967c2436cf5816cf9a0edcd3f04f307969e48bcb
|
| |\ \ |
|
| | |/
| |
| |
| |
| |
| |
| |
| | |
We already expose O_BINARY, and O_CLOEXEC seems equally legitimate.
Bug: N/A
Test: builds
Change-Id: I7f07e1bb2a5d6b5c5f293783c39ceab148fabefb
|
| |/
|
|
|
|
|
|
| |
Also fix the indentation of a neighboring comment.
Bug: N/A
Test: builds
Change-Id: Iebe5f518b2ac14718f3cae91007e62b61bed9dc0
|
| |\
| |
| |
| | |
libziparchive over."
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This allows us to remove libziparchive's dependency on libutils.
Bug: http://b/79112958
Test: ran libbase and libziparchive tests, ran fastboot manually
Change-Id: I95c651976dad222863e5b8c37d4514b778f5dce7
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Let's use LOG(FATAL)/PLOG(FATAL) for actual fatal stuff.
Add a Windows error(3) and move folks who didn't really mean "abort"
fatal over to it. Also get rid of syntax_error which wasn't adding a
lot of value, and most of the places it was adding "usage: " didn't seem
entirely appropriate anyway.
In particular, we seemed to have confused fastdeploy.cpp into aborting
in most user error cases, and none of the reviewers noticed. Clearly
we'd all lost track of far too many options.
(I've also cleaned up a few random instances of fprintf(3) + exit(2).)
Bug: N/A
Test: manual
Change-Id: I3e8440848a24e30d928de9eded505916bc324786
|
| |\
| |
| |
| |
| |
| |
| | |
* changes:
Do not enable -Wold-style-cast for Windows
Add sys/types.h in utf8.h
Adapt to switch to libc++ for Windows
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug: http://b/91353691
It's needed for mode_t.
Test: Build and test Windows modules under Wine.
Change-Id: I3fa6b2946316a9bd2a0d800ae928ba5de480a283
|
| | |
| |
| |
| |
| |
| |
| |
| | |
respectively
Test: build fails when the signedness is mismatched
Test: build succeeds otherwise
Change-Id: Idd6b146cc167d4607eafc81dbad6c2a79b167094
|
| | |
| |
| |
| |
| |
| | |
Bug: 116614593
Test: build with WITH_TIDY=1
Change-Id: I5a7461386946ca623ab509609092aa0ac8418b80
|
| |/
|
|
|
|
|
| |
This warning should be available for Windows as well.
Test: mmma system/core/base
Change-Id: Id2e7e4da2e5105870a8d1e10c793e4a54c5b3d04
|
| |
|
|
|
|
|
|
| |
Add FALLTHROUGH_INTENDED for clang compiler.
Bug: 112564944
Test: build with global -Wimplicit-fallthrough.
Change-Id: I40f8bbf94e207c9dd90921e9b762ba51abab5777
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move the fd() function to be private since it should not have been
exposed in the first place.
Fix the way logging_test uses CapturedXXX.
Adding this because the new isolated testing doesn't print errors to
stderr so the ASSERT_ EXPECT_ messages can get swallowed. Also, it's easier
to reuse a CapturedXXX object in a test with these functions.
Test: New unit tests pass.
Change-Id: I38b113fc184146ce434802f80a9b7997fa83e78a
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using fdopen with unique_fd correctly is more annoying than it should
be, because fdopen doesn't close the file descriptor received upon
failure, which means you have to something like the following:
unique_fd ufd = ...;
int fd = ufd.release();
FILE* file = fdopen(fd, "...");
if (!file) {
close(fd);
return;
}
Add an android::base::Fdopen that does that dance for you.
Bug: http://b/113880863
Test: treehugger
Change-Id: I6325acf1ff06484005c1053fe09672c5eeeecaa1
|
| |
|
|
|
| |
Test: Updated unit tests pass.
Change-Id: I2c1f14ed44ce144a46cb2866c146fca89a05539e
|
| |
|
|
|
|
|
|
|
| |
This test means to check both that ParseInt() and ParseUint() do not
change the result on failure, however it erroneously tested ParseInt()
twice.
Test: unit tests
Change-Id: If534e2525827e19aba6cae0eef45668d57623efb
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) ParseInt and ParseUint accept strings that have spaces followed by
a valid number, however the base check for determining hex numbers
does not take this into account currently, but now does this this
change.
2) ParseUint rejects negative numbers except in the case that the
template argument is unsigned long long. That is a mistake; it
should reject negative numbers in all cases and this change does
that by rejecting any string with a - prefix.
Bug: 112668205
Test: new (and old) unit tests
Change-Id: I0179b42e50adc1b169cf0e6d830283b71210a029
|
| |
|
|
|
|
|
|
|
| |
I originally accidentally created this file with the execute bit on.
Test: mma
Change-Id: I8075ffdbb114475434ad48912a9dd24f19a9025b
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
|
| |
|
|
|
|
|
|
| |
For convenience and to match the integer parsing functions.
Bug: 110758329
Test: m only
Change-Id: I33620d9a29465e1f425872fd57063ac32031988a
|
| |\ |
|
| | |
| |
| |
| |
| |
| | |
Bug: 110758329 # for using here
Test: libbase_test (added float_smoke)
Change-Id: I640f85655567c707cbee625ca9c88db2ab91da66
|
| |\| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This change also updates documentation for Parse(Ui|I)nt functions
which recently had a corresponding change applied.
Bug: 110758329
Test: libbase_test
Change-Id: I4842c0500a6e49498eeb8a63d1117c06727fffdf
|
| |/
|
|
|
|
|
|
|
|
| |
EXPECT_DEATH forks behind the scenes, which turns off fdsan, leading to
these tests failing. Instead of duplicating the special
EXPECT_FDSAN_DEATH macro, just move these tests into the bionic fdsan
tests.
Test: none
Change-Id: Ia7b65d4560601d5a78d143aced887a6773b401c0
|
| |
|
|
|
|
| |
Bug: 35361699
Test: flash sailfish, it boots
Change-Id: Ie545145789faa299e1228b6c91566e0767f7ea79
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use __attribute__((weak)) to check for fdsan availability at runtime,
to support being used when built with the NDK while targeting older
platform versions.
This reverts commit af798acaea49b8d9150b94eb9f5f11450a6b8893.
Bug: http://b/110100358
Test: m libjnitest
Change-Id: Ie59d041d69cc3d4b6c59412d706f702dd1d2dab2
|
| |/
|
|
|
|
|
|
|
| |
Removes segfault if T* out != nullptr and just
returns validation result.
Bug: 110758329
Test: libbase_test
Change-Id: I0f304533a7076bba977fbd1a715b9cc0d9e58e75
|
| |
|
|
|
|
|
|
|
| |
This reverts commit fcf2c01b5599a96b968afb1528c996d9486937b0.
Commit broke full-eng, because libbase is being compiled against the NDK.
Test: treehugger
Change-Id: I8447b6a7fc33e6aa34cec0f037727322fa824446
|
| |
|
|
|
|
|
|
| |
Avoid bionic's file descriptor ownership checks by calling the close
syscall manually.
Test: debuggerd_test
Change-Id: I10af6aca0e66fe030fd7a53506ae61c87695641d
|