Problem: zsock_brecv documentation There was an issue on Dec 2015 #1223
https://github.com/zeromq/czmq/issues/1223 and it has been fixed actual documentation says // Note that zsock_brecv creates the returned objects, and the caller must // destroy them when finished with them. OK that's clear if it is clear what an object is. // c zchunk_t * type = "chunk" // f zframe_t * type = "frame" // u zuuid_t * type = "uuid" // m zmsg_t * type = "msg" could be easy identified as objects but what's about // s char *, 0-255 chars type = "string" // S char *, 0-2^32-1 chars type = "longstr" a longstr I have to free, a string not if I try to destroy a string valgrind complains with Invalid free() / delete / delete[] / realloc() ‘’’c int res = 0; char *data; char *cmd; res = zsock_brecv(self->workerClient, "sS", &cmd, &data); if (res != 0) { fprintf(stderr, "error receive msg from worker server\n%s\n", zmq_strerror (errno)); } else { do something with cmd and data } if (cmd != NULL) { free(cmd); } if (data != NULL) { free(data); } ‘’’ Am I the only one running into that trap? Ju
_______________________________________________ zeromq-dev mailing list [email protected] https://lists.zeromq.org/mailman/listinfo/zeromq-dev
