Chromium Code Reviews| Index: chrome/common/multi_process_lock_linux.cc |
| diff --git a/chrome/common/multi_process_lock_linux.cc b/chrome/common/multi_process_lock_linux.cc |
| index 0a83c8976ffc021de80babdeeaf4241a4e1af840..24e123f54a866511791caad7fd58f0f14190ca57 100644 |
| --- a/chrome/common/multi_process_lock_linux.cc |
| +++ b/chrome/common/multi_process_lock_linux.cc |
| @@ -43,7 +43,11 @@ class MultiProcessLockLinux : public MultiProcessLock { |
| == MULTI_PROCESS_LOCK_NAME_MAX_LEN + 2, sun_path_size_changed); |
| memset(&address, 0, sizeof(address)); |
| - strcpy(&address.sun_path[1], name_.c_str()); |
| + if (snprintf(&address.sun_path[1], MULTI_PROCESS_LOCK_NAME_MAX_LEN + 1, |
| + "%s", name.c_str()) < 0) { |
|
Nico
2010/11/16 23:23:31
from `man snprintf`:
These functions return
|
| + PLOG(ERROR) << "Couldn't create sun_path - " << name_; |
| + return false; |
| + } |
| // Must set the first character of the path to something non-zero |
| // before we call SUN_LEN which depends on strcpy working. |
| @@ -70,7 +74,9 @@ class MultiProcessLockLinux : public MultiProcessLock { |
| PLOG(ERROR) << "Couldn't bind socket - " |
| << &(address.sun_path[1]) |
| << " Length: " << length; |
| - HANDLE_EINTR(close(socket_fd)); |
| + if (HANDLE_EINTR(close(socket_fd)) < 0) { |
| + PLOG(ERROR) << "close"; |
| + } |
| return false; |
| } |
| } |
| @@ -80,7 +86,9 @@ class MultiProcessLockLinux : public MultiProcessLock { |
| DLOG(ERROR) << "Over-unlocked MultiProcessLock - " << name_; |
| return; |
| } |
| - HANDLE_EINTR(close(fd_)); |
| + if (HANDLE_EINTR(close(fd_)) < 0) { |
| + PLOG(ERROR) << "close"; |
| + } |
| fd_ = -1; |
| } |