From c0db6232891c9871ae67e7c57094bc20812aff7a Mon Sep 17 00:00:00 2001 From: Seungbae Shin Date: Thu, 20 Dec 2018 19:46:32 +0900 Subject: [PATCH] Fix improper errno handling [Version] 0.12.33 [Issue Type] Bug Change-Id: If13ea55bbce212bf96581a66b9e464019e7b8819 --- focus_server/mm_sound_mgr_focus_socket.c | 5 +++-- mm_sound_bootsound.c | 7 ++++--- mm_sound_keysound.c | 7 ++++--- packaging/libmm-sound.spec | 2 +- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/focus_server/mm_sound_mgr_focus_socket.c b/focus_server/mm_sound_mgr_focus_socket.c index 16a15ff..3532235 100644 --- a/focus_server/mm_sound_mgr_focus_socket.c +++ b/focus_server/mm_sound_mgr_focus_socket.c @@ -430,9 +430,10 @@ int MMSoundMgrFocusSocketInit(int *fd) strncpy(addr_un.sun_path, FOCUS_SERVER_SOCK, sizeof(addr_un.sun_path)); if (bind(socket_fd, (struct sockaddr *)&addr_un, sizeof(addr_un))) { - strerror_r(errno, str_error, sizeof(str_error)); + int errsv = errno; + strerror_r(errsv, str_error, sizeof(str_error)); debug_error("failed to bind(), err: %s", str_error); - if (errno == EADDRINUSE) { + if (errsv == EADDRINUSE) { unlink(FOCUS_SERVER_SOCK); debug_msg("unlink socket and bind again..."); if (bind(socket_fd, (struct sockaddr *)&addr_un, sizeof(addr_un))) { diff --git a/mm_sound_bootsound.c b/mm_sound_bootsound.c index 0924a25..a505231 100644 --- a/mm_sound_bootsound.c +++ b/mm_sound_bootsound.c @@ -104,9 +104,10 @@ int mm_sound_boot_play_sound(char* path) fd = open(path, O_RDONLY); if (fd == -1) { char str_error[256]; - strerror_r(errno, str_error, sizeof(str_error)); - debug_error("file open failed with [%s][%d]", str_error, errno); - switch (errno) { + int errsv = errno; + strerror_r(errsv, str_error, sizeof(str_error)); + debug_error("file open failed with [%s][%d]", str_error, errsv); + switch (errsv) { case ENOENT: return MM_ERROR_SOUND_FILE_NOT_FOUND; default: diff --git a/mm_sound_keysound.c b/mm_sound_keysound.c index dcac051..9f42330 100644 --- a/mm_sound_keysound.c +++ b/mm_sound_keysound.c @@ -173,9 +173,10 @@ static int _mm_sound_play_keysound(const char *filename, int volume_config, ipc_ fd = open(filename, O_RDONLY); if (fd == -1) { char str_error[256]; - strerror_r(errno, str_error, sizeof(str_error)); - debug_error("file open failed with [%s][%d]", str_error, errno); - switch (errno) { + int errsv = errno; + strerror_r(errsv, str_error, sizeof(str_error)); + debug_error("file open failed with [%s][%d]", str_error, errsv); + switch (errsv) { case ENOENT: return MM_ERROR_SOUND_FILE_NOT_FOUND; default: diff --git a/packaging/libmm-sound.spec b/packaging/libmm-sound.spec index 8fe95a3..32e868b 100644 --- a/packaging/libmm-sound.spec +++ b/packaging/libmm-sound.spec @@ -1,6 +1,6 @@ Name: libmm-sound Summary: MMSound Package contains client lib and sound_server binary -Version: 0.12.32 +Version: 0.12.33 Release: 0 Group: System/Libraries License: Apache-2.0 -- 2.7.4