diff --git a/src/producer/base_producer.rs b/src/producer/base_producer.rs index adedc43a4..0841bafba 100644 --- a/src/producer/base_producer.rs +++ b/src/producer/base_producer.rs @@ -456,7 +456,10 @@ where } let (payload_ptr, payload_len) = as_bytes(record.payload); let (key_ptr, key_len) = as_bytes(record.key); - let topic_cstring = CString::new(record.topic).unwrap(); + let topic_cstring = match CString::new(record.topic) { + Ok(topic) => topic, + Err(nul_error) => return Err((nul_error.into(), record)), + }; let opaque_ptr = record.delivery_opaque.into_ptr(); let produce_error = unsafe { rdsys::rd_kafka_producev(