--- cpp/src/arrow/memory_pool.cc
+++ cpp/src/arrow/CMakeLists.txt
@@ -427,7 +427,7 @@
 
 Status jemalloc_set_decay_ms(int ms) {
 #ifdef ARROW_JEMALLOC
-  ssize_t decay_time_ms = static_cast<ssize_t>(ms);
+  size_t decay_time_ms = static_cast<size_t>(ms);
 
   int err = mallctl("arenas.dirty_decay_ms", nullptr, nullptr, &decay_time_ms,
                     sizeof(decay_time_ms));
