X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=clients%2Fms_conn.c;h=d7cd2de06c5b4c813e1789151e949431868b6875;hb=3ec0260542c2f66cf2668323e44fa3b55b97138b;hp=82016e1fef60c3c557dfd45e4cb0827ebac10cc4;hpb=9c7e4d791a127f8ae46aaddc531319da1f34b5ba;p=awesomized%2Flibmemcached diff --git a/clients/ms_conn.c b/clients/ms_conn.c index 82016e1f..d7cd2de0 100644 --- a/clients/ms_conn.c +++ b/clients/ms_conn.c @@ -2886,13 +2886,14 @@ static int ms_build_ascii_write_buf_set(ms_conn_t *c, ms_task_item_t *item) int write_len; char *buffer= c->wbuf; - write_len= sprintf(buffer, - " %u %d %d\r\n", - 0, - item->exp_time, - item->value_size); + write_len= snprintf(buffer, + c->wsize, + " %u %d %d\r\n", + 0, + item->exp_time, + item->value_size); - if (write_len > c->wsize) + if (write_len > c->wsize || write_len < 0) { /* ought to be always enough. just fail for simplicity */ fprintf(stderr, "output command line too long.\n");