getrandom: print string as hex-escaped

Since there is no reason to interpret the value returned by getrandom as
ASCII string, it makes sense to always print it as a hex-escaped string.

* getrandom.c (SYS_FUNC(getrandom)): Use printstr_ex instead
of printstrn, set QUOTE_FORCE_HEX in user_style parameter in order
to force hex-escaped string formatting.
* tests/getrandom.test: Remove no longer needed -xx flag as the string
is always printed in hexadecimal format now.

Suggested-by: JingPiao Chen <chenjingpiao@gmail.com>
This commit is contained in:
Eugene Syromyatnikov 2017-01-06 09:57:42 +01:00 committed by Dmitry V. Levin
parent 34a920baad
commit c119a6da7c
2 changed files with 3 additions and 2 deletions

View File

@ -7,7 +7,8 @@ SYS_FUNC(getrandom)
if (syserror(tcp))
printaddr(tcp->u_arg[0]);
else
printstrn(tcp, tcp->u_arg[0], tcp->u_rval);
printstr_ex(tcp, tcp->u_arg[0], tcp->u_rval,
QUOTE_FORCE_HEX);
tprintf(", %" PRI_klu ", ", tcp->u_arg[1]);
printflags(getrandom_flags, tcp->u_arg[2], "GRND_???");
}

View File

@ -3,4 +3,4 @@
# Check getrandom syscall decoding.
. "${srcdir=.}/init.sh"
run_strace_match_diff -a32 -xx -s3
run_strace_match_diff -a32 -s3