kadm5: Fix clobbering of interruption code in kadm5_c_iter_principals()

This commit is contained in:
Nicolas Williams
2022-12-30 16:39:00 -06:00
parent 26488ce60d
commit a5093f6e0d

View File

@@ -131,6 +131,7 @@ kadm5_c_iter_principals(void *server_handle,
int32_t tmp;
krb5_data reply;
size_t i;
int stop = 0;
ret = _kadm5_connect(server_handle, 0 /* want_write */);
if (ret)
@@ -188,7 +189,6 @@ kadm5_c_iter_principals(void *server_handle,
if (tmp < 0) {
size_t n = -tmp;
int more = 1;
int stop = 0;
/* The server supports online iteration, hooray! */
@@ -249,12 +249,6 @@ kadm5_c_iter_principals(void *server_handle,
}
free(princ);
}
if (!more) {
if (ret == 0)
ret = stop;
break;
}
}
/* Get the final result code */
krb5_data_free(&reply);
@@ -297,6 +291,8 @@ kadm5_c_iter_principals(void *server_handle,
krb5_clear_error_message(context->context);
out_keep_error:
if (stop)
ret = stop;
krb5_storage_free(sp);
krb5_data_free(&reply);
return ret;