diff options
Diffstat (limited to 'src/attr.c')
-rw-r--r-- | src/attr.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/attr.c b/src/attr.c index c0d7ddd04..a6a87afee 100644 --- a/src/attr.c +++ b/src/attr.c @@ -182,11 +182,14 @@ int git_attr_foreach( continue; git_strmap_insert(seen, assign->name, assign, error); - if (error >= 0) - error = callback(assign->name, assign->value, payload); + if (error < 0) + goto cleanup; - if (error != 0) + error = callback(assign->name, assign->value, payload); + if (error) { + error = GIT_EUSER; goto cleanup; + } } } } |