| Index: runtime/bin/directory_macos.cc
|
| diff --git a/runtime/bin/directory_macos.cc b/runtime/bin/directory_macos.cc
|
| index ad05d1e952557f2632abc9d31e8173194d892a8d..c700f6c89802d192472feb591f3ce672de6cc193 100644
|
| --- a/runtime/bin/directory_macos.cc
|
| +++ b/runtime/bin/directory_macos.cc
|
| @@ -28,12 +28,14 @@ class PathBuffer {
|
| int length;
|
|
|
| bool Add(const char* name) {
|
| - size_t written = snprintf(data + length,
|
| - PATH_MAX - length,
|
| - "%s",
|
| - name);
|
| + int written = snprintf(data + length,
|
| + PATH_MAX - length,
|
| + "%s",
|
| + name);
|
| data[PATH_MAX] = '\0';
|
| - if (written == strlen(name)) {
|
| + if (written <= PATH_MAX - length &&
|
| + written >= 0 &&
|
| + static_cast<size_t>(written) == strlen(name)) {
|
| length += written;
|
| return true;
|
| } else {
|
|
|