svn commit: samba r12755 - in branches/SAMBA_4_0/source/nbt_server/wins: .

metze at samba.org metze at samba.org
Sat Jan 7 10:56:56 GMT 2006


Author: metze
Date: 2006-01-07 10:56:55 +0000 (Sat, 07 Jan 2006)
New Revision: 12755

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=12755

Log:
check the return value of ldb_timestring(), as this fails,
when gmtime() fails...

metze
Modified:
   branches/SAMBA_4_0/source/nbt_server/wins/winsdb.c


Changeset:
Modified: branches/SAMBA_4_0/source/nbt_server/wins/winsdb.c
===================================================================
--- branches/SAMBA_4_0/source/nbt_server/wins/winsdb.c	2006-01-07 10:28:48 UTC (rev 12754)
+++ branches/SAMBA_4_0/source/nbt_server/wins/winsdb.c	2006-01-07 10:56:55 UTC (rev 12755)
@@ -318,10 +318,14 @@
 {
 	struct ldb_val val;
 	const char *str;
+	char *expire_time;
 
+	expire_time = ldb_timestring(msg, addr->expire_time);
+	if (!expire_time) return -1;
 	str = talloc_asprintf(msg, "%s;winsOwner:%s;expireTime:%s;",
 			      addr->address, addr->wins_owner,
-			      ldb_timestring(msg, addr->expire_time));
+			      expire_time);
+	talloc_free(expire_time);
 	if (!str) return -1;
 
 	val.data = discard_const_p(uint8_t, str);
@@ -588,8 +592,9 @@
 {
 	int i, ret=0;
 	size_t addr_count;
+	const char *expire_time;
 	struct ldb_message *msg = ldb_msg_new(mem_ctx);
-	if (msg == NULL) goto failed;
+	if (msg == NULL) goto failed;	
 
 	if (rec->is_static) {
 		rec->state = WREPL_STATE_ACTIVE;
@@ -608,6 +613,11 @@
 		rec->type = WREPL_TYPE_MHOMED;
 	}
 
+	expire_time = ldb_timestring(msg, rec->expire_time);
+	if (!expire_time) {
+		goto failed;
+	}
+
 	msg->dn = winsdb_dn(msg, rec->name);
 	if (msg->dn == NULL) goto failed;
 	ret |= ldb_msg_add_fmt(msg, "type", "0x%02X", rec->name->type);
@@ -622,8 +632,7 @@
 	ret |= ldb_msg_add_fmt(msg, "recordState", "%u", rec->state);
 	ret |= ldb_msg_add_fmt(msg, "nodeType", "%u", rec->node);
 	ret |= ldb_msg_add_fmt(msg, "isStatic", "%u", rec->is_static);
-	ret |= ldb_msg_add_string(msg, "expireTime", 
-				  ldb_timestring(msg, rec->expire_time));
+	ret |= ldb_msg_add_string(msg, "expireTime", expire_time);
 	ret |= ldb_msg_add_fmt(msg, "versionID", "%llu", (long long)rec->version);
 	ret |= ldb_msg_add_string(msg, "winsOwner", rec->wins_owner);
 	ret |= ldb_msg_add_empty(msg, "address", 0);



More information about the samba-cvs mailing list