summaryrefslogtreecommitdiffstats
path: root/source3
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2014-07-29 14:12:31 -0700
committerDavid Disseldorp <ddiss@samba.org>2014-07-30 13:32:47 +0200
commit6abeff5f46d2d46332a36018370b69ebb547799f (patch)
tree97f0eb7bead6f5207096377bc505b06cb08fbf36 /source3
parent9919c90ca8622ef4c9bb3753518a9bffd0c4f3b9 (diff)
downloadsamba-6abeff5f46d2d46332a36018370b69ebb547799f.tar.gz
samba-6abeff5f46d2d46332a36018370b69ebb547799f.tar.xz
samba-6abeff5f46d2d46332a36018370b69ebb547799f.zip
s3: net time - fix usage and core dump.
Bug 10728 - 'net time system' segfaults https://bugzilla.samba.org/show_bug.cgi?id=10728 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Autobuild-User(master): David Disseldorp <ddiss@samba.org> Autobuild-Date(master): Wed Jul 30 13:32:47 CEST 2014 on sn-devel-104
Diffstat (limited to 'source3')
-rw-r--r--source3/utils/net_time.c30
1 files changed, 20 insertions, 10 deletions
diff --git a/source3/utils/net_time.c b/source3/utils/net_time.c
index 847b4fe445..56ce8f71ad 100644
--- a/source3/utils/net_time.c
+++ b/source3/utils/net_time.c
@@ -84,10 +84,10 @@ static const char *systime(time_t t)
int net_time_usage(struct net_context *c, int argc, const char **argv)
{
d_printf(_(
-"net time\n\tdisplays time on a server\n\n"
-"net time system\n\tdisplays time on a server in a format ready for /bin/date\n\n"
-"net time set\n\truns /bin/date with the time from the server\n\n"
-"net time zone\n\tdisplays the timezone in hours from GMT on the remote computer\n\n"
+"net time\n\tdisplays time on a server (-S server)\n\n"
+"net time system\n\tdisplays time on a server (-S server) in a format ready for /bin/date\n\n"
+"net time set\n\truns /bin/date with the time from the server (-S server)\n\n"
+"net time zone\n\tdisplays the timezone in hours from GMT on the remote server (-S server)\n\n"
"\n"));
net_common_flags_usage(c, argc, argv);
return -1;
@@ -99,6 +99,16 @@ static int net_time_set(struct net_context *c, int argc, const char **argv)
struct timeval tv;
int result;
+ if (c->display_usage || c->opt_host == NULL) {
+ d_printf( "%s\n"
+ "net time set\n"
+ " %s\n",
+ _("Usage:"),
+ _("Set local time to that of remote time "
+ "server (-S server) "));
+ return 0;
+ }
+
tv.tv_sec = nettime(c, NULL);
tv.tv_usec=0;
@@ -118,13 +128,13 @@ static int net_time_system(struct net_context *c, int argc, const char **argv)
{
time_t t;
- if (c->display_usage) {
+ if (c->display_usage || c->opt_host == NULL) {
d_printf( "%s\n"
"net time system\n"
" %s\n",
_("Usage:"),
- _("Output remote time server time in a format "
- "ready for /bin/date"));
+ _("Output remote time server (-S server) "
+ "time in a format ready for /bin/date"));
return 0;
}
@@ -144,13 +154,13 @@ static int net_time_zone(struct net_context *c, int argc, const char **argv)
char zsign;
time_t t;
- if (c->display_usage) {
+ if (c->display_usage || c->opt_host == NULL) {
d_printf( "%s\n"
"net time zone\n"
" %s\n",
_("Usage:"),
- _("Display the remote time server's offset to "
- "UTC"));
+ _("Display the remote time server's (-S server) "
+ "offset to UTC"));
return 0;
}