summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2011-03-03 01:02:41 +0000
committerDmitry V. Levin <ldv@altlinux.org>2011-03-03 01:02:41 +0000
commitd475c06134717745987e4c1859e4cdb8d16e2001 (patch)
treeb6b124e1838a667fc159edcc1edaaee0d02167d8
parentf9a84ef39fdbfe9636837c99beff52d62a7b8127 (diff)
downloadstrace-d475c06134717745987e4c1859e4cdb8d16e2001.tar.gz
Fix struct xlat initialization bugs
* file.c (inotify_modes): Terminate with NULL entry. * net.c (sock_type_flags): Make this array static. (socketlayers): Add a comment that this array should remain not NULL-terminated.
-rw-r--r--file.c41
-rw-r--r--net.c3
2 files changed, 23 insertions, 21 deletions
diff --git a/file.c b/file.c
index dc17854f2..15db40f82 100644
--- a/file.c
+++ b/file.c
@@ -2918,26 +2918,27 @@ sys_fadvise64_64(struct tcb *tcp)
#ifdef LINUX
static const struct xlat inotify_modes[] = {
- { 0x00000001, "IN_ACCESS" },
- { 0x00000002, "IN_MODIFY" },
- { 0x00000004, "IN_ATTRIB" },
- { 0x00000008, "IN_CLOSE_WRITE" },
- { 0x00000010, "IN_CLOSE_NOWRITE" },
- { 0x00000020, "IN_OPEN" },
- { 0x00000040, "IN_MOVED_FROM" },
- { 0x00000080, "IN_MOVED_TO" },
- { 0x00000100, "IN_CREATE" },
- { 0x00000200, "IN_DELETE" },
- { 0x00000400, "IN_DELETE_SELF" },
- { 0x00000800, "IN_MOVE_SELF" },
- { 0x00002000, "IN_UNMOUNT" },
- { 0x00004000, "IN_Q_OVERFLOW" },
- { 0x00008000, "IN_IGNORED" },
- { 0x01000000, "IN_ONLYDIR" },
- { 0x02000000, "IN_DONT_FOLLOW" },
- { 0x20000000, "IN_MASK_ADD" },
- { 0x40000000, "IN_ISDIR" },
- { 0x80000000, "IN_ONESHOT" }
+ { 0x00000001, "IN_ACCESS" },
+ { 0x00000002, "IN_MODIFY" },
+ { 0x00000004, "IN_ATTRIB" },
+ { 0x00000008, "IN_CLOSE_WRITE"},
+ { 0x00000010, "IN_CLOSE_NOWRITE"},
+ { 0x00000020, "IN_OPEN" },
+ { 0x00000040, "IN_MOVED_FROM" },
+ { 0x00000080, "IN_MOVED_TO" },
+ { 0x00000100, "IN_CREATE" },
+ { 0x00000200, "IN_DELETE" },
+ { 0x00000400, "IN_DELETE_SELF"},
+ { 0x00000800, "IN_MOVE_SELF" },
+ { 0x00002000, "IN_UNMOUNT" },
+ { 0x00004000, "IN_Q_OVERFLOW" },
+ { 0x00008000, "IN_IGNORED" },
+ { 0x01000000, "IN_ONLYDIR" },
+ { 0x02000000, "IN_DONT_FOLLOW"},
+ { 0x20000000, "IN_MASK_ADD" },
+ { 0x40000000, "IN_ISDIR" },
+ { 0x80000000, "IN_ONESHOT" },
+ { 0, NULL }
};
int
diff --git a/net.c b/net.c
index 26cfeb037..cafa73962 100644
--- a/net.c
+++ b/net.c
@@ -337,7 +337,7 @@ static const struct xlat socktypes[] = {
#endif
{ 0, NULL },
};
-const struct xlat sock_type_flags[] = {
+static const struct xlat sock_type_flags[] = {
#ifdef SOCK_CLOEXEC
{ SOCK_CLOEXEC, "SOCK_CLOEXEC" },
#endif
@@ -447,6 +447,7 @@ static const struct xlat socketlayers[] = {
{ SOL_CAIF, "SOL_CAIF" },
#endif
{ SOL_SOCKET, "SOL_SOCKET" }, /* Never used! */
+ /* The SOL_* array should remain not NULL-terminated. */
};
/*** WARNING: DANGER WILL ROBINSON: NOTE "socketlayers" array above
falls into "protocols" array below!!!! This is intended!!! ***/