diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-08-06 19:46:21 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-08-06 19:46:21 +0200 |
commit | c8e29317e97ee595a66314275c163a5ce55fcca9 (patch) | |
tree | d9b1e841f018d561fbff5d4b47c7b21bf303a85b | |
parent | a894a4beddf9c132556b001925ea3e8e0881e273 (diff) | |
download | busybox-c8e29317e97ee595a66314275c163a5ce55fcca9.tar.gz |
adjtimex: zero-fill whole structure, to be on the safe side
function old new delta
adjtimex_main 395 406 +11
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | miscutils/adjtimex.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/miscutils/adjtimex.c b/miscutils/adjtimex.c index 0830734ee..a39c4f5cf 100644 --- a/miscutils/adjtimex.c +++ b/miscutils/adjtimex.c @@ -90,13 +90,14 @@ int adjtimex_main(int argc UNUSED_PARAM, char **argv) unsigned opt; char *opt_o, *opt_f, *opt_p, *opt_t; struct timex txc; - int i, ret; + int ret; const char *descript; + memset(&txc, 0, sizeof(txc)); + opt_complementary = "=0"; /* no valid non-option parameters */ opt = getopt32(argv, "qo:f:p:t:", &opt_o, &opt_f, &opt_p, &opt_t); - txc.modes = 0; //if (opt & 0x1) // -q if (opt & 0x2) { // -o txc.offset = xatol(opt_o); @@ -116,14 +117,13 @@ int adjtimex_main(int argc UNUSED_PARAM, char **argv) } ret = adjtimex(&txc); - - if (ret < 0) { + if (ret < 0) bb_perror_nomsg_and_die(); - } if (!(opt & OPT_quiet)) { const char *sep; const char *name; + int i; printf( " mode: %d\n" @@ -132,8 +132,9 @@ int adjtimex_main(int argc UNUSED_PARAM, char **argv) " maxerror: %ld\n" " esterror: %ld\n" " status: %d (", - txc.modes, txc.offset, txc.freq, txc.maxerror, - txc.esterror, txc.status); + txc.modes, txc.offset, txc.freq, txc.maxerror, + txc.esterror, txc.status + ); /* representative output of next code fragment: * "PLL | PPSTIME" @@ -159,9 +160,11 @@ int adjtimex_main(int argc UNUSED_PARAM, char **argv) " time.tv_sec: %ld\n" " time.tv_usec: %ld\n" " return value: %d (%s)\n", - txc.constant, - txc.precision, txc.tolerance, txc.tick, - (long)txc.time.tv_sec, (long)txc.time.tv_usec, ret, descript); + txc.constant, + txc.precision, txc.tolerance, txc.tick, + (long)txc.time.tv_sec, (long)txc.time.tv_usec, + ret, descript + ); } return 0; |