- if (echo_ssvm_segment_attach ((char *) mp->segment_name,
- SSVM_SEGMENT_MEMFD, fds[n_fds++]))
- {
- ECHO_FAIL (ECHO_FAIL_VL_API_SVM_FIFO_SEG_ATTACH,
- "svm_fifo_segment_attach ('%s') "
- "failed on SSVM_SEGMENT_MEMFD", mp->segment_name);
- goto failed;
- }
+ {
+ segment_name = vl_api_from_api_to_new_c_string (&mp->segment_name);
+ rv = echo_ssvm_segment_attach (segment_name,
+ SSVM_SEGMENT_MEMFD, fds[n_fds++]);
+ if (rv != 0)
+ {
+ ECHO_FAIL (ECHO_FAIL_VL_API_SVM_FIFO_SEG_ATTACH,
+ "svm_fifo_segment_attach ('%s') "
+ "failed on SSVM_SEGMENT_MEMFD", segment_name);
+ vec_free (segment_name);
+ goto failed;
+ }
+ vec_free (segment_name);
+ }
+