fujuntang
2021-09-07 b984dac55bdd0a5b694837fb8fb2ceb07ce9808f
resize the buf allocation to dynamic buf.
1个文件已修改
22 ■■■■ 已修改文件
src/bh_api.cpp 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/bh_api.cpp
@@ -1512,12 +1512,26 @@
        memcpy(*proc_id, rr.proc_id.c_str(), *proc_id_len);
      }
      memset(buf_temp, 0x00, sizeof(buf_temp));
      memcpy(buf_temp, buf, size);
      rr.data = buf_temp;
      topics_buf = (char *)malloc(size);
      if (topics_buf == NULL) {
        rv = EBUS_NO_MEM;
        memset(errString, 0x00, sizeof(errString));
        strncpy(errString, bus_strerror(rv), sizeof(errString));
        logger->error("in BHRequest: Out of memory!\n");
        pthread_mutex_unlock(&mutex);
        return false;
      }
      memset(topics_buf, 0x00, size);
      memcpy(topics_buf, buf, size);
      rr.data = topics_buf;
      
      free(buf);
      free(topics_buf);
    }
    
    pthread_mutex_unlock(&mutex);