summaryrefslogtreecommitdiff
path: root/source3/nmbd
diff options
context:
space:
mode:
Diffstat (limited to 'source3/nmbd')
-rw-r--r--source3/nmbd/nmbd_namelistdb.c20
-rw-r--r--source3/nmbd/nmbd_winsserver.c6
2 files changed, 24 insertions, 2 deletions
diff --git a/source3/nmbd/nmbd_namelistdb.c b/source3/nmbd/nmbd_namelistdb.c
index 60023a7ed5..fb32ce1aad 100644
--- a/source3/nmbd/nmbd_namelistdb.c
+++ b/source3/nmbd/nmbd_namelistdb.c
@@ -564,15 +564,31 @@ void dump_name_record( struct name_record *namerec, XFILE *fp)
x_fprintf(fp,"Source = %s\nb_flags = %x\t", src_type, namerec->data.nb_flags);
if(namerec->data.death_time != PERMANENT_TTL) {
+ const char *asct;
tm = localtime(&namerec->data.death_time);
- x_fprintf(fp, "death_time = %s\t", asctime(tm));
+ if (!tm) {
+ return;
+ }
+ asct = asctime(tm);
+ if (!asct) {
+ return;
+ }
+ x_fprintf(fp, "death_time = %s\t", asct);
} else {
x_fprintf(fp, "death_time = PERMANENT\t");
}
if(namerec->data.refresh_time != PERMANENT_TTL) {
+ const char *asct;
tm = localtime(&namerec->data.refresh_time);
- x_fprintf(fp, "refresh_time = %s\n", asctime(tm));
+ if (!tm) {
+ return;
+ }
+ asct = asctime(tm);
+ if (!asct) {
+ return;
+ }
+ x_fprintf(fp, "refresh_time = %s\n", asct);
} else {
x_fprintf(fp, "refresh_time = PERMANENT\n");
}
diff --git a/source3/nmbd/nmbd_winsserver.c b/source3/nmbd/nmbd_winsserver.c
index 198d90f35a..29d5c41de8 100644
--- a/source3/nmbd/nmbd_winsserver.c
+++ b/source3/nmbd/nmbd_winsserver.c
@@ -2222,7 +2222,13 @@ void wins_write_name_record(struct name_record *namerec, XFILE *fp)
char *ts, *nl;
tm = localtime(&namerec->data.death_time);
+ if (!tm) {
+ return;
+ }
ts = asctime(tm);
+ if (!ts) {
+ return;
+ }
nl = strrchr( ts, '\n' );
if( NULL != nl ) {
*nl = '\0';