diff --git a/cpp/src/gandiva/gdv_function_stubs.cc b/cpp/src/gandiva/gdv_function_stubs.cc index 6fe3fa9a57ce..ddd5df6d3923 100644 --- a/cpp/src/gandiva/gdv_function_stubs.cc +++ b/cpp/src/gandiva/gdv_function_stubs.cc @@ -407,8 +407,7 @@ const char* gdv_fn_aes_decrypt(int64_t context, const char* data, int32_t data_l static_cast(arrow::bit_util::RoundUpToPowerOf2(data_len, kAesBlockSize)); char* ret = reinterpret_cast(gdv_fn_context_arena_malloc(context, *out_len)); if (ret == nullptr) { - std::string err_msg = - "Could not allocate memory for returning aes encrypt cypher text"; + std::string err_msg = "Could not allocate memory for returning aes decrypt plaintext"; gdv_fn_context_set_error_msg(context, err_msg.data()); *out_len = 0; return nullptr; diff --git a/cpp/src/gandiva/precompiled/string_ops.cc b/cpp/src/gandiva/precompiled/string_ops.cc index 035d3c8c62e1..9a2d8c8415c6 100644 --- a/cpp/src/gandiva/precompiled/string_ops.cc +++ b/cpp/src/gandiva/precompiled/string_ops.cc @@ -1700,7 +1700,11 @@ FORCE_INLINE gdv_int32 levenshtein(int64_t context, const char* in1, int32_t in1_len, const char* in2, int32_t in2_len) { if (in1_len < 0 || in2_len < 0) { - gdv_fn_context_set_error_msg(context, "String length must be greater than 0"); + char err_msg[128]; + snprintf(err_msg, sizeof(err_msg), + "LEVENSHTEIN: input lengths must be non-negative, got %d and %d", in1_len, + in2_len); + gdv_fn_context_set_error_msg(context, err_msg); return 0; } @@ -1736,7 +1740,8 @@ gdv_int32 levenshtein(int64_t context, const char* in1, int32_t in1_len, const c int* ptr = reinterpret_cast( gdv_fn_context_arena_malloc(context, (len_smaller + 1) * 2 * sizeof(int))); if (ptr == nullptr) { - gdv_fn_context_set_error_msg(context, "String length must be greater than 0"); + gdv_fn_context_set_error_msg(context, + "LEVENSHTEIN: could not allocate working memory"); return 0; } diff --git a/cpp/src/gandiva/precompiled/string_ops_test.cc b/cpp/src/gandiva/precompiled/string_ops_test.cc index d57eb437530c..a31683c65ac7 100644 --- a/cpp/src/gandiva/precompiled/string_ops_test.cc +++ b/cpp/src/gandiva/precompiled/string_ops_test.cc @@ -1132,7 +1132,7 @@ TEST(TestStringOps, TestLevenshtein) { EXPECT_EQ(levenshtein(ctx_ptr, "book", -5, "back", 4), 0); EXPECT_TRUE(ctx.has_error()); EXPECT_THAT(ctx.get_error(), - ::testing::HasSubstr("String length must be greater than 0")); + ::testing::HasSubstr("LEVENSHTEIN: input lengths must be non-negative")); ctx.Reset(); }