diff options
author | Sunmin Lee <sunm.lee@samsung.com> | 2017-06-09 12:58:48 +0900 |
---|---|---|
committer | Sunmin Lee <sunm.lee@samsung.com> | 2017-06-09 12:58:48 +0900 |
commit | 15618f4afd1b6ae60be672f9226f69eb279baa1c (patch) | |
tree | 4cd96b05f2fd8c0b07cb17cdc664ffa5b0a426f6 | |
parent | 4fb43bc647647e1ad9d8029ede8beadeb1387ca8 (diff) | |
download | crash-worker-accepted/tizen_3.0_ivi.tar.gz crash-worker-accepted/tizen_3.0_ivi.tar.bz2 crash-worker-accepted/tizen_3.0_ivi.zip |
Adjust buffer size for addresssubmit/tizen_3.0/20170614.093235accepted/tizen/3.0/wearable/20170614.223815accepted/tizen/3.0/tv/20170614.223812accepted/tizen/3.0/mobile/20170614.223810accepted/tizen/3.0/ivi/20170614.223818accepted/tizen/3.0/common/20170616.064237accepted/tizen_3.0_iviaccepted/tizen_3.0_common
The addr gets string of address consisting of begin/end
address and '-', null character.
So the length of addrees buffer should be set to:
ADDR_LEN * 2 + 2 (at least)
Change-Id: I505a4d99837244f82675a8c1a2a68cdb61642956
Signed-off-by: Sunmin Lee <sunm.lee@samsung.com>
-rw-r--r-- | src/crash-pipe/crash-pipe.c | 8 | ||||
-rw-r--r-- | src/sys-assert/sys-assert.c | 12 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/crash-pipe/crash-pipe.c b/src/crash-pipe/crash-pipe.c index 7f196a9..430a583 100644 --- a/src/crash-pipe/crash-pipe.c +++ b/src/crash-pipe/crash-pipe.c @@ -40,8 +40,8 @@ #define PERM_LEN 5 #define PERM_LEN_DEC 4 #define ADDR_LEN 16 -#define ADDR_LEN_DOUBLE 32 -#define ADDR_LEN_DOUBLE_DEC 31 +#define ADDR_BUF_LEN 34 +#define ADDR_BUF_LEN_DEC 33 #define STR_ANONY "[anony]" #define STR_ANONY_LEN 8 @@ -241,7 +241,7 @@ static struct addr_node *get_addr_list_from_maps(int fd) long *eaddr; char perm[PERM_LEN]; char path[PATH_MAX + 1]; - char addr[ADDR_LEN * 2]; + char addr[ADDR_BUF_LEN]; char linebuf[BUF_SIZE]; struct addr_node *head = NULL; struct addr_node *tail = NULL; @@ -250,7 +250,7 @@ static struct addr_node *get_addr_list_from_maps(int fd) /* parsing the maps to get executable code address */ while (fgets_fd(linebuf, BUF_SIZE, fd) != NULL) { memset(path, 0, PATH_MAX + 1); - result = sscanf(linebuf, STR_FS(ADDR_LEN_DOUBLE_DEC) + result = sscanf(linebuf, STR_FS(ADDR_BUF_LEN_DEC) STR_FS(PERM_LEN_DEC) "%*s %*s %*s" STR_FS(PATH_MAX), addr, perm, path); diff --git a/src/sys-assert/sys-assert.c b/src/sys-assert/sys-assert.c index eeaecce..da301b5 100644 --- a/src/sys-assert/sys-assert.c +++ b/src/sys-assert/sys-assert.c @@ -68,12 +68,12 @@ #define PERM_LEN_DEC 4 #ifdef ARCH_64 #define ADDR_LEN 10 -#define ADDR_LEN_DOUBLE 20 -#define ADDR_LEN_DOUBLE_DEC 19 +#define ADDR_BUF_LEN 22 +#define ADDR_BUF_LEN_DEC 21 #else #define ADDR_LEN 8 -#define ADDR_LEN_DOUBLE 16 -#define ADDR_LEN_DOUBLE_DEC 15 +#define ADDR_BUF_LEN 18 +#define ADDR_BUF_LEN_DEC 17 #endif #define INFO_LEN 20 #define INFO_LEN_DEC 19 @@ -329,7 +329,7 @@ static struct addr_node *get_addr_list_from_maps(int fd) long *eaddr; char perm[PERM_LEN]; char path[PATH_MAX + 1]; - char addr[ADDR_LEN * 2]; + char addr[ADDR_BUF_LEN]; char linebuf[BUF_SIZE]; struct addr_node *head = NULL; struct addr_node *tail = NULL; @@ -338,7 +338,7 @@ static struct addr_node *get_addr_list_from_maps(int fd) /* parsing the maps to get executable code address */ while (fgets_fd(linebuf, BUF_SIZE, fd) != NULL) { memset(path, 0, PATH_MAX + 1); - result = sscanf(linebuf, STR_FS(ADDR_LEN_DOUBLE_DEC) + result = sscanf(linebuf, STR_FS(ADDR_BUF_LEN_DEC) STR_FS(PERM_LEN_DEC) "%*s %*s %*s" STR_FS(PATH_MAX), addr, perm, path); |