diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2011-03-03 01:02:41 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2011-03-03 01:02:41 +0000 |
commit | d475c06134717745987e4c1859e4cdb8d16e2001 (patch) | |
tree | b6b124e1838a667fc159edcc1edaaee0d02167d8 | |
parent | f9a84ef39fdbfe9636837c99beff52d62a7b8127 (diff) | |
download | strace-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.c | 41 | ||||
-rw-r--r-- | net.c | 3 |
2 files changed, 23 insertions, 21 deletions
@@ -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 @@ -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!!! ***/ |