From b0cd372af9002015213b8676514c60adaeeccd7b Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 22 May 2018 13:56:11 -0400 Subject: [PATCH] Fixes #2066: Catch AddrFormatError on invalid IP addresses --- netbox/ipam/fields.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/netbox/ipam/fields.py b/netbox/ipam/fields.py index e0842d10b..8c7dbb690 100644 --- a/netbox/ipam/fields.py +++ b/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):