Commit Graph

88 Commits

Author SHA1 Message Date
Sergio Giro 2806397d1e DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8
Inconsistent behaviour between utf16_to_utf8 and utf16_to_utf8_length
is causing a heap overflow.

Correcting the length computation and adding bound checks to the
conversion functions.

(cherry picked from commit c4966a363e)

Change-Id: Idfb0eb29b305678608586d25c2f372146569ad39
Bug: 29250543
2016-07-14 17:25:27 +00:00
Sergio Giro 605de74373 Revert \\\"libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8\\\" am: 311002936e am: ddd0051968
am: b218b2d34d

Change-Id: Iced8e47993a39103aed3deafb5deb974995ecdba
2016-07-13 12:47:25 +00:00
Sergio Giro b218b2d34d Revert \\"libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8\\" am: 311002936e
am: ddd0051968

Change-Id: Ia2a422c170a0d700a1d4d55ea920361689a9be8b
2016-07-13 12:44:00 +00:00
Sergio Giro 311002936e Revert "libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8"
This reverts commit 53473c1607.

Change-Id: I27379317e08ecbd5e3b95b7ece58194838ab6c21
2016-07-13 11:47:53 +00:00
Sergio Giro fd7bd2dfef libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 53473c1607 am: 41e6690d0c
am: 29ccafe5f0

Change-Id: If7c24750afcae3a4b73885b2c4fb9b99ffca5c45
2016-07-13 09:41:12 +00:00
Sergio Giro 29ccafe5f0 libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 53473c1607
am: 41e6690d0c

Change-Id: I0f7707c88684f9cc24fff878d3d3751b6025227f
2016-07-13 09:37:36 +00:00
Sergio Giro 53473c1607 libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8
Inconsistent behaviour between utf16_to_utf8 and utf16_to_utf8_length
is causing a heap overflow.

Correcting the length computation and adding bound checks to the
conversion functions.

(cherry picked from commit c4966a363e)
(changed code for safetynet logging due to lack of sstream and string in klp)

Change-Id: If50d59a91a13fddbff9a8fff0d3eebe57c711e93
Bug: 29250543
2016-07-12 18:39:11 +01:00
Narayan Kamath fef9dffd96 am 6c53de92: Follow up to change b638126ed DO NOT MERGE.
* commit '6c53de92cf7e759488538280788325fac6ccdea2':
  Follow up to change b638126ed DO NOT MERGE.
2015-09-11 09:50:09 +00:00
Narayan Kamath a82d6dc3bf resolved conflicts for b638126e to klp-modular-dev
Change-Id: If5062b01afa95279ab25fe86aaafa89d4d74eaa1
2015-09-10 22:00:26 +01:00
Narayan Kamath 6c53de92cf Follow up to change b638126ed DO NOT MERGE.
Resolves delta between the kitkat and L version of this patch.
Fixes the molly build on klp-dev.

bug: 22953624
Change-Id: I696a506320f30d3d5cd95f6da35361244986cb36
2015-09-10 20:30:59 +00:00
Narayan Kamath 419e6c3c68 libutils: Fix integer overflows in VectorImpl.
Use external/safe-iop to check for overflows on arithmetic
operations.

Also remove an unnecessary copy of Vector/SharedBuffer from
codeflinger and use the copy from libutils instead.

Note that some of the unit tests are somewhat useless due to
test-runner limitations : gtest's ability to filter on abort message
doesn't work when combined with messages formatted by android's logging
system.

bug: 22953624

(cherry picked from commit c609c31fb5)

Change-Id: I61644633db6b54fa230683615de9724f7fabf6fb
2015-09-09 12:05:06 +01:00
Narayan Kamath b638126ed3 libutils: Fix integer overflows in VectorImpl. DO NOT MERGE
Use external/safe-iop to check for overflows on arithmetic
operations.

Also remove an unnecessary copy of Vector/SharedBuffer from
codeflinger and use the copy from libutils instead.

Note that some of the unit tests are somewhat useless due to
test-runner limitations : gtest's ability to filter on abort message
doesn't work when combined with messages formatted by android's logging
system.

bug: 22953624

(cherry picked from commit c609c31fb5)

Change-Id: I673b7ab142bed4fcba9159a00a65cf6bca6b1f6c
2015-09-09 11:20:13 +01:00
Sergio Giro 0cc9a6e6e1 libutils: fix overflow in SharedBuffer [DO NOT MERGE]
See
https://code.google.com/p/android/issues/detail?id=181910

Bug: 22952485
(cherry picked from commit 66b6eb9490)

Change-Id: Ic71dd0025b9a7588c4f3bb1c7be1bd13d2ff5105
2015-08-25 16:18:16 +01:00
Sergio Giro 3fe4051430 am 66b6eb94: [DO NOT MERGE] libutils: fix overflow in SharedBuffer
* commit '66b6eb9490beeeabc804d790c1c4060ce047afd4':
  [DO NOT MERGE] libutils: fix overflow in SharedBuffer
2015-08-25 14:06:38 +00:00
Sergio Giro 66b6eb9490 [DO NOT MERGE] libutils: fix overflow in SharedBuffer
See
https://code.google.com/p/android/issues/detail?id=181910

Bug: 22952485
(cherry picked from commit 7987b83553)

Change-Id: I3cac87185f209dc79678ae702aa18afbdf4190df
2015-08-21 20:36:19 +01:00
Abhishek Arya d34846b70b am cd407a17: am e0dce90b: Fix compile failure after rIfe1dc0791040150132bea6884f1e6c8d31972d1b
* commit 'cd407a17fe326f3e18866ddddb1c747b06a45fc0':
  Fix compile failure after rIfe1dc0791040150132bea6884f1e6c8d31972d1b
2015-08-21 06:23:50 +00:00
Abhishek Arya cd407a17fe am e0dce90b: Fix compile failure after rIfe1dc0791040150132bea6884f1e6c8d31972d1b
* commit 'e0dce90b0de2b2b7c2baae8035f810a55526effb':
  Fix compile failure after rIfe1dc0791040150132bea6884f1e6c8d31972d1b
2015-08-21 06:18:47 +00:00
Abhishek Arya e0dce90b0d Fix compile failure after rIfe1dc0791040150132bea6884f1e6c8d31972d1b
Bug: 23290056
Change-Id: If6e22b0159de6635a8ca5305895b7718f15becc7
2015-08-20 21:55:55 -07:00
Sergio Giro e67b584869 am 4956c0fe: am 5b85b1d4: libutils: fix overflow in String8::allocFromUTF8
* commit '4956c0fe1e582a8497aff34a41aeb8bf4748eef0':
  libutils: fix overflow in String8::allocFromUTF8
2015-08-20 22:28:53 +00:00
Sergio Giro 4956c0fe1e am 5b85b1d4: libutils: fix overflow in String8::allocFromUTF8
* commit '5b85b1d40d619c2064d321364f212ebfeb6ba185':
  libutils: fix overflow in String8::allocFromUTF8
2015-08-20 22:23:47 +00:00
Sergio Giro 5b85b1d40d libutils: fix overflow in String8::allocFromUTF8
Patch contributed in:
https://code.google.com/p/android/issues/detail?id=182908

Bug: 23290056

(cherry picked from commit 4eeacbeec0)

Change-Id: Ife1dc0791040150132bea6884f1e6c8d31972d1b
(cherry picked from commit ebabef2752)
2015-08-18 20:52:25 +00:00
Xavier Ducrohet 1a55aa5e34 Fix windows specific behavior of FileMap
The implementation of the FileMap destructor would
close the file, only on Windows, which did not match
the behavior on mac/linux.

This is because calling munmap does not close the file
descriptor. It must be closed separately, before or after
munmap.

On Windows, the file must also be closed manually,
before or after closing the mappingFile.

The change basically removes the closing file from
the windows-specific part of the destructor, to
make behavior more consistent on all platforms
where the caller to FileMap is responsible for closing
its own file (since FileMap receives an opened file).

Change-Id: I5e3cfffbb870d5f3595802ccac57dbc1dbf1ce6e
2014-10-16 12:09:06 -07:00
Christopher Ferris de722e56df Fix write past end of memory.
The computed flattened size of the blob does not match the size used by the
flatten function when the last cached entry size is not 4 byte aligned.

Bug: 17873145
Change-Id: I9f9fc102d4bde4681ae977b6de5f263aaaf56708
2014-10-07 14:52:31 -07:00
Igor Murashkin 63fbdb6440 libutils: Don't segfault ProcessCallStack when getting thread name fails
There's an inherent race in trying to read out the thread name from
the system and the thread closing out on its own (and thus being removed
from procfs).

Try to handle this by formatting the thread name unconditionally with
the tid when getting the thread name fails (instead of dereferencing
NULL and crashing).

Bug: 15406837
Change-Id: Ibf2208b8ce345589e7e9c57e6a307728d1121c5d
2014-08-19 11:48:52 -07:00
Dmitriy Ivanov 4ffed01fb7 Exclude bionic private headers from include path
(cherry picked from commit 9516139c03)

Change-Id: I2883e2a13a523e6938c8a3aed93e66af948cdcd8
2014-07-31 11:16:01 -07:00
Antoine Labour 5f6ebc2f9c BlobCache: fix uninitialized memory
When flattening the BlobCache, we insert padding for alignment. Make
sure to zero the padding bytes to have reproducible results.

Bug: 16569863
Change-Id: Id39eac5e6a1687459eb6bc2074b1339393fce711
2014-07-28 15:50:33 -07:00
Stephen Hines eb49dd791e Remove invalid 64-bit host objects.
Bug: 16408818

These targets are no longer in use, since we have a proper way to create both
32-bit and 64-bit host libraries in a single build now.

Cherry-pick from AOSP: 03cc1f747c

Change-Id: Icd09f795acd220de5b5e956a8d8e1b4ab4864fa9
2014-07-25 10:39:38 -07:00
Cylen Yao 3b13803850 am 72299bf0: [Bug]NE when playing mp3 with incorrect UTF16 char
* commit '72299bf0d240072174f847d13f1c9498b3ef9fa6':
  [Bug]NE when playing mp3 with incorrect UTF16 char
2014-06-11 12:41:36 +00:00
Cylen Yao 72299bf0d2 [Bug]NE when playing mp3 with incorrect UTF16 char
Bug: 15274351
Bug: 15539240

Many MP3 files have incorrect utf16 chars, but the
Utf16_to_utf8_length() routine checks for errors in
standard utf16 char.  utf16_to_utf8() was not checking
for errors in standard utf16 char.

Change-Id: Iafd922ff92cabe6bba8971215fcfd1fd471c894b
(cherry picked from commit 605b139cdf56364c6c9b37e59dd12efc61c24631)
2014-06-10 19:14:59 +00:00
Jeff Brown c24b98c7d8 Add a couple of useful string functions. (DO NOT MERGE)
Change-Id: I158f69917bab5f15482dd8f2b66b36a4cc0f11ad
(cherry picked from commit 5ee915afe1)
2014-06-09 21:30:16 +00:00
Jeff Brown 5ee915afe1 Add a couple of useful string functions.
Change-Id: I158f69917bab5f15482dd8f2b66b36a4cc0f11ad
2014-06-09 14:02:52 -07:00
Ian Rogers 1165cf4f44 am 928821bd: am 72d77449: am 4ca26ce8: Merge "Host multilib build of both 32-bit and 64-bit libraries."
* commit '928821bd123aa38094289b9c62debb4d92b84069':
  Host multilib build of both 32-bit and 64-bit libraries.
2014-06-05 23:00:09 +00:00
Ian Rogers 928821bd12 am 72d77449: am 4ca26ce8: Merge "Host multilib build of both 32-bit and 64-bit libraries."
* commit '72d77449d99833140f7dd838db6556484031da29':
  Host multilib build of both 32-bit and 64-bit libraries.
2014-06-05 22:56:00 +00:00
Ian Rogers 59ec765382 Host multilib build of both 32-bit and 64-bit libraries.
Change-Id: I54f91f385b109fc664a1a1f9320affb2a846fef1
2014-06-05 15:26:22 -07:00
Mark Salyzyn c9573e147e am b2a9129e: am bf0ed824: am 60ca7a22: Merge "libutils: turn on -Werror"
* commit 'b2a9129e8f0666884dee660515c51d4dd5c17c7a':
  libutils: turn on -Werror
2014-06-04 18:29:49 +00:00
Mark Salyzyn b2a9129e8f am bf0ed824: am 60ca7a22: Merge "libutils: turn on -Werror"
* commit 'bf0ed82485e0166dd5f5c9415026c2dc3fd2ae4b':
  libutils: turn on -Werror
2014-06-04 18:26:41 +00:00
Mark Salyzyn 5bed803664 libutils: turn on -Werror
- Deal with some -Wunused issues
- Override PRI macros (windows)
- Revert use of PRI macros on off64_t (linux)
- Deal with a gnu++11 complaince issue

Change-Id: Ie66751293bd84477a5a6dfd8a57e700a16e36964
2014-06-02 15:57:50 -07:00
Dan Albert 70b53c4057 am 4b126c46: am e8f90ca6: am 570cd46d: Merge "Revert "Move libutils to libc++""
* commit '4b126c4604965ea029d9c741d074ad7f820b5269':
  Revert "Move libutils to libc++"
2014-05-30 20:24:07 +00:00
Dan Albert 4b126c4604 am e8f90ca6: am 570cd46d: Merge "Revert "Move libutils to libc++""
* commit 'e8f90ca60d65f5a0542b77f8f517c4fb80da2e52':
  Revert "Move libutils to libc++"
2014-05-30 20:21:03 +00:00
Dan Albert 570cd46d14 Merge "Revert "Move libutils to libc++"" 2014-05-30 20:13:48 +00:00
Dan Albert 7bc49a16e8 Revert "Move libutils to libc++"
Causes issues in the unbundled branches.

This reverts commit dc133729b0.

Change-Id: I9185ce9ea9e0ea631f0bfe016edf38c6830b288a
2014-05-30 19:40:58 +00:00
Dan Albert 6f8030c565 am 58f4a09b: am 36f536fc: am 9f69e028: Merge "Move libutils to libc++"
* commit '58f4a09bb4375c2f7b85ec14449a0588e85e126a':
  Move libutils to libc++
2014-05-30 19:01:45 +00:00
Dan Albert 58f4a09bb4 am 36f536fc: am 9f69e028: Merge "Move libutils to libc++"
* commit '36f536fc7b88fe21a974bce6fed565bc622b5bc2':
  Move libutils to libc++
2014-05-30 18:43:01 +00:00
Dan Albert 9f69e028f7 Merge "Move libutils to libc++" 2014-05-30 18:32:08 +00:00
Mark Salyzyn 3051ddd13a am 4547273b: am 265262a8: am 5f815da3: Merge "String16.cpp rm unused utils/Debug.h"
* commit '4547273b427422d69260a21dd19b1480aff7b890':
  String16.cpp rm unused utils/Debug.h
2014-05-29 23:56:57 +00:00
Mark Salyzyn 4547273b42 am 265262a8: am 5f815da3: Merge "String16.cpp rm unused utils/Debug.h"
* commit '265262a8b243faa16c268ac40801a226359437a6':
  String16.cpp rm unused utils/Debug.h
2014-05-29 23:54:30 +00:00
Mark Salyzyn 6443033f6d String16.cpp rm unused utils/Debug.h
Change-Id: Ie7e3695770f20be33738a0f0a868cc914248d91a
2014-05-29 13:14:35 -07:00
Dan Albert dc133729b0 Move libutils to libc++
Bug: 15193147
Change-Id: Ib4b1835e77279db905e098abc7c9bf8d27d66b57
2014-05-29 10:19:39 -07:00
Calin Juravle 7000e66643 am 29415ce2: am 72f51179: am cd3897d0: Merge "Move libutils from fdprintf to POSIX dprintf."
* commit '29415ce2fbb3a96e513abd00589da169d3399aee':
  Move libutils from fdprintf to POSIX dprintf.
2014-05-22 16:49:10 +00:00
Calin Juravle 29415ce2fb am 72f51179: am cd3897d0: Merge "Move libutils from fdprintf to POSIX dprintf."
* commit '72f51179849c338747fd83d638c90b6be42a43cf':
  Move libutils from fdprintf to POSIX dprintf.
2014-05-22 13:44:19 +00:00