diff options
author | Eric Laurent <elaurent@google.com> | 2014-01-27 11:20:15 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-01-27 11:20:15 -0800 |
commit | 8ba3192fc5f3fd72217f5946e8bd1831f0854749 (patch) | |
tree | cfb93dbce1ed083aac4627a1bf0c9d34b210e83e /media | |
parent | 1526c2e1d7be6b942859c68c509493d3636bca43 (diff) | |
parent | d0e7e8012e19ac750e7858756247be1036da32c4 (diff) | |
download | frameworks_av-8ba3192fc5f3fd72217f5946e8bd1831f0854749.zip frameworks_av-8ba3192fc5f3fd72217f5946e8bd1831f0854749.tar.gz frameworks_av-8ba3192fc5f3fd72217f5946e8bd1831f0854749.tar.bz2 |
am d0e7e801: Merge "Do partial reads in MemoryLeakTrackUtil"
* commit 'd0e7e8012e19ac750e7858756247be1036da32c4':
Do partial reads in MemoryLeakTrackUtil
Diffstat (limited to 'media')
-rw-r--r-- | media/libmedia/MemoryLeakTrackUtil.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/media/libmedia/MemoryLeakTrackUtil.cpp b/media/libmedia/MemoryLeakTrackUtil.cpp index 6a108ae..f004ca4 100644 --- a/media/libmedia/MemoryLeakTrackUtil.cpp +++ b/media/libmedia/MemoryLeakTrackUtil.cpp @@ -49,7 +49,7 @@ struct MyString8 { } void append(const char *s) { - strcat(mPtr, s); + strncat(mPtr, s, MAX_SIZE - size() - 1); } const char *string() const { @@ -60,6 +60,10 @@ struct MyString8 { return strlen(mPtr); } + void clear() { + *mPtr = '\0'; + } + private: char *mPtr; @@ -139,6 +143,9 @@ void dumpMemoryAddresses(int fd) } } while (moved); + write(fd, result.string(), result.size()); + result.clear(); + for (size_t i = 0; i < count; i++) { AllocEntry *e = &entries[i]; @@ -152,13 +159,14 @@ void dumpMemoryAddresses(int fd) result.append(buffer); } result.append("\n"); + + write(fd, result.string(), result.size()); + result.clear(); } delete[] entries; free_malloc_leak_info(info); } - - write(fd, result.string(), result.size()); } #else |