X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Fserver.c;fp=tests%2Fserver.c;h=84f15de09df4192eaef8641c5b3297e84bb8fdc7;hb=48297ab2ce05feb4a81e8322940bf102e505d2d4;hp=4db656f1575a1812404d4b5735f77c5df52ba21e;hpb=b175c6025c67cb8fa756750d53fb96fd888076de;p=awesomized%2Flibmemcached diff --git a/tests/server.c b/tests/server.c index 4db656f1..84f15de0 100644 --- a/tests/server.c +++ b/tests/server.c @@ -97,7 +97,6 @@ void server_startup(server_startup_st *construct) for (uint32_t x= 0; x < construct->count; x++) { - int count; int status; in_port_t port; @@ -140,7 +139,15 @@ void server_startup(server_startup_st *construct) status= system(buffer); fprintf(stderr, "STARTING SERVER: %s status:%d\n", buffer, status); } - count= sprintf(end_ptr, "localhost:%u,", port); + int count; + size_t remaining_length= sizeof(server_string_buffer) - (size_t)(end_ptr -server_string_buffer); + count= snprintf(end_ptr, remaining_length, "localhost:%u,", port); + + if ((size_t)count >= remaining_length || count < 0) + { + fprintf(stderr, "server names grew to be larger then buffer allowed\n"); + abort(); + } end_ptr+= count; } *end_ptr= 0;