Index: src/string.c ================================================================== --- src/string.c +++ src/string.c @@ -59,12 +59,11 @@ len = strlen(s); if ((copy = malloc(len + 1)) == NULL) return NULL; - memcpy(copy, s, len); - copy[len] = 0; + memcpy(copy, s, len + 1); return copy; } char* Index: src/tcpsocket.c ================================================================== --- src/tcpsocket.c +++ src/tcpsocket.c @@ -22,10 +22,11 @@ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ +#define _C99_SOURCE #define _POSIX_SOURCE #include #include #include Index: tests/tests.c ================================================================== --- tests/tests.c +++ tests/tests.c @@ -68,13 +68,13 @@ pool = cfw_new(cfw_refpool); array = cfw_create(cfw_array, cfw_create(cfw_string, "Hallo"), cfw_create(cfw_string, " Welt"), - cfw_create(cfw_string, "!"), NULL); + cfw_create(cfw_string, "!"), (void*)NULL); - str = cfw_new(cfw_string, NULL); + str = cfw_new(cfw_string, (void*)NULL); for (i = 0; i < cfw_array_size(array); i++) cfw_string_append(str, cfw_array_get(array, i)); cfw_unref(pool);