]> granicus.if.org Git - strace/commitdiff
uid.c: make use of RVAL_DECODED
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 16 Jul 2015 00:01:25 +0000 (00:01 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 16 Jul 2015 01:36:55 +0000 (01:36 +0000)
* uid.c (sys_setuid, sys_setreuid, sys_setresuid, sys_chown, sys_fchown,
sys_setgroups): Update for RVAL_DECODED.

uid.c

diff --git a/uid.c b/uid.c
index 52f4f2e8e2e7c51627f1c941c8994a4b3aacf715..30244abe9066c86ca92d765b86e0d5c247041c46 100644 (file)
--- a/uid.c
+++ b/uid.c
@@ -55,10 +55,9 @@ SYS_FUNC(setfsuid)
 
 SYS_FUNC(setuid)
 {
-       if (entering(tcp)) {
-               tprintf("%u", (uid_t) tcp->u_arg[0]);
-       }
-       return 0;
+       printuid("", tcp->u_arg[0]);
+
+       return RVAL_DECODED;
 }
 
 static void
@@ -85,41 +84,37 @@ SYS_FUNC(getresuid)
 
 SYS_FUNC(setreuid)
 {
-       if (entering(tcp)) {
-               printuid("", tcp->u_arg[0]);
-               printuid(", ", tcp->u_arg[1]);
-       }
-       return 0;
+       printuid("", tcp->u_arg[0]);
+       printuid(", ", tcp->u_arg[1]);
+
+       return RVAL_DECODED;
 }
 
 SYS_FUNC(setresuid)
 {
-       if (entering(tcp)) {
-               printuid("", tcp->u_arg[0]);
-               printuid(", ", tcp->u_arg[1]);
-               printuid(", ", tcp->u_arg[2]);
-       }
-       return 0;
+       printuid("", tcp->u_arg[0]);
+       printuid(", ", tcp->u_arg[1]);
+       printuid(", ", tcp->u_arg[2]);
+
+       return RVAL_DECODED;
 }
 
 SYS_FUNC(chown)
 {
-       if (entering(tcp)) {
-               printpath(tcp, tcp->u_arg[0]);
-               printuid(", ", tcp->u_arg[1]);
-               printuid(", ", tcp->u_arg[2]);
-       }
-       return 0;
+       printpath(tcp, tcp->u_arg[0]);
+       printuid(", ", tcp->u_arg[1]);
+       printuid(", ", tcp->u_arg[2]);
+
+       return RVAL_DECODED;
 }
 
 SYS_FUNC(fchown)
 {
-       if (entering(tcp)) {
-               printfd(tcp, tcp->u_arg[0]);
-               printuid(", ", tcp->u_arg[1]);
-               printuid(", ", tcp->u_arg[2]);
-       }
-       return 0;
+       printfd(tcp, tcp->u_arg[0]);
+       printuid(", ", tcp->u_arg[1]);
+       printuid(", ", tcp->u_arg[2]);
+
+       return RVAL_DECODED;
 }
 
 void
@@ -133,54 +128,53 @@ printuid(const char *text, const unsigned int uid)
 
 SYS_FUNC(setgroups)
 {
-       if (entering(tcp)) {
-               unsigned long cur, abbrev_end;
-               uid_t gid;
-               int failed = 0;
-               const unsigned long len = tcp->u_arg[0];
-               const unsigned long start = tcp->u_arg[1];
-               const unsigned long size = len * sizeof(gid);
-               const unsigned long end = start + size;
-
-               tprintf("%lu, ", len);
-               if (len == 0) {
-                       tprints("[]");
-                       return 0;
-               }
-               if (!start || !verbose(tcp) ||
-                   size / sizeof(gid) != len || end < start) {
-                       printaddr(start);
-                       return 0;
-               }
-               if (abbrev(tcp)) {
-                       abbrev_end = start + max_strlen * sizeof(gid);
-                       if (abbrev_end < start)
-                               abbrev_end = end;
-               } else {
+       unsigned long cur, abbrev_end;
+       uid_t gid;
+       int failed = 0;
+       const unsigned long len = tcp->u_arg[0];
+       const unsigned long start = tcp->u_arg[1];
+       const unsigned long size = len * sizeof(gid);
+       const unsigned long end = start + size;
+
+       tprintf("%lu, ", len);
+       if (len == 0) {
+               tprints("[]");
+               return RVAL_DECODED;
+       }
+       if (!start || !verbose(tcp) ||
+           size / sizeof(gid) != len || end < start) {
+               printaddr(start);
+               return RVAL_DECODED;
+       }
+       if (abbrev(tcp)) {
+               abbrev_end = start + max_strlen * sizeof(gid);
+               if (abbrev_end < start)
                        abbrev_end = end;
+       } else {
+               abbrev_end = end;
+       }
+       tprints("[");
+       for (cur = start; cur < end; cur += sizeof(gid)) {
+               if (cur > start)
+                       tprints(", ");
+               if (cur >= abbrev_end) {
+                       tprints("...");
+                       break;
                }
-               tprints("[");
-               for (cur = start; cur < end; cur += sizeof(gid)) {
-                       if (cur > start)
-                               tprints(", ");
-                       if (cur >= abbrev_end) {
-                               tprints("...");
-                               break;
-                       }
-                       if (umoven(tcp, cur, sizeof(gid), &gid) < 0) {
-                               tprints("?");
-                               failed = 1;
-                               break;
-                       }
-                       tprintf("%u", (unsigned int) gid);
-               }
-               tprints("]");
-               if (failed) {
-                       tprints(" ");
-                       printaddr(start);
+               if (umoven(tcp, cur, sizeof(gid), &gid) < 0) {
+                       tprints("?");
+                       failed = 1;
+                       break;
                }
+               tprintf("%u", (unsigned int) gid);
        }
-       return 0;
+       tprints("]");
+       if (failed) {
+               tprints(" ");
+               printaddr(start);
+       }
+
+       return RVAL_DECODED;
 }
 
 SYS_FUNC(getgroups)