Remote: protect against invalid input on rename
The C API expects a non-NULL new name and raises an assertion if we don't protect against such input, so let's guard against falsy values, which also takes care of the empty string, which is also not valid input.
This commit is contained in:
@@ -144,6 +144,9 @@ class Remote(object):
|
|||||||
|
|
||||||
@name.setter
|
@name.setter
|
||||||
def name(self, value):
|
def name(self, value):
|
||||||
|
if not value:
|
||||||
|
raise ValueError("New remote name must be a non-empty string")
|
||||||
|
|
||||||
err = C.git_remote_rename(self._remote, to_str(value), ffi.NULL, ffi.NULL)
|
err = C.git_remote_rename(self._remote, to_str(value), ffi.NULL, ffi.NULL)
|
||||||
check_error(err)
|
check_error(err)
|
||||||
|
|
||||||
|
@@ -65,6 +65,7 @@ class RepositoryTest(utils.RepoTestCase):
|
|||||||
self.assertEqual('new', remote.name)
|
self.assertEqual('new', remote.name)
|
||||||
|
|
||||||
self.assertRaisesAssign(ValueError, remote, 'name', '')
|
self.assertRaisesAssign(ValueError, remote, 'name', '')
|
||||||
|
self.assertRaisesAssign(ValueError, remote, 'name', None)
|
||||||
|
|
||||||
|
|
||||||
def test_remote_set_url(self):
|
def test_remote_set_url(self):
|
||||||
|
Reference in New Issue
Block a user