瀏覽代碼

Fixes #2066: Catch AddrFormatError on invalid IP addresses

Jeremy Stretch 8 年之前
父節點
當前提交
b0cd372af9
共有 1 個文件被更改,包括 4 次插入2 次删除
  1. 4 2
      netbox/ipam/fields.py

+ 4 - 2
netbox/ipam/fields.py

@@ -2,7 +2,7 @@ from __future__ import unicode_literals
 
 from django.core.exceptions import ValidationError
 from django.db import models
-from netaddr import IPNetwork
+from netaddr import AddrFormatError, IPNetwork
 
 from .formfields import IPFormField
 from . import lookups
@@ -26,7 +26,9 @@ class BaseIPField(models.Field):
             return value
         try:
             return IPNetwork(value)
-        except ValueError as e:
+        except AddrFormatError as e:
+            raise ValidationError("Invalid IP address format: {}".format(value))
+        except (TypeError, ValueError) as e:
             raise ValidationError(e)
 
     def get_prep_value(self, value):