diff --git a/cdb2api/cdb2api.c b/cdb2api/cdb2api.c index 7b22177cb3..6c55c94d8a 100644 --- a/cdb2api/cdb2api.c +++ b/cdb2api/cdb2api.c @@ -4723,7 +4723,7 @@ static int cdb2_send_query(cdb2_hndl_tp *hndl, cdb2_hndl_tp *event_hndl, COMDB2B if (hndl && hndl->id_blob) { sqlquery.identity = hndl->id_blob; - } else if (iam_identity && identity_cb && (hndl && requesting_sql_rows(hndl) == 0)) { + } else if (iam_identity && identity_cb && (!hndl || requesting_sql_rows(hndl) == 0)) { int flags = 0; if (cdb2_use_optional_identity) flags |= CDB2_USE_OPTIONAL_IDENTITY; @@ -4731,7 +4731,8 @@ static int cdb2_send_query(cdb2_hndl_tp *hndl, cdb2_hndl_tp *event_hndl, COMDB2B flags |= CDB2_NON_THREADED_IDENTITY; id_blob = identity_cb->getIdentity(hndl, flags); if (!id_blob) { - sprintf(hndl->errstr, "%s: IAM identity creation failed", __func__); + if (hndl) + sprintf(hndl->errstr, "%s: IAM identity creation failed", __func__); rc = -1; goto after_callback; }