diff --git a/src/smblib/smbstr.c b/src/smblib/smbstr.c
index 51f969ee67824ed7b73bc5c09d7a362f2d41199f..37bf085b4822c5cc733f43effa92eadbb8a26f37 100644
--- a/src/smblib/smbstr.c
+++ b/src/smblib/smbstr.c
@@ -338,8 +338,14 @@ enum smb_net_type SMBCALL smb_netaddr_type(const char* str)
 {
 	const char*	p;
 
-	if((p=strchr(str,'@'))==NULL)
+	if((p=strchr(str,'@')) == NULL) {
 		p = str;
+		SKIP_WHITESPACE(p);
+		if(*p == 0)
+			return NET_NONE;
+		if(strspn(p, "1234567890:/.") != strlen(p))
+			return NET_NONE;
+	}
 	else
 		p++;
 	SKIP_WHITESPACE(p);