Signed-off-by: Jens Axboe <axboe@fb.com>
dprint(FD_FILE, "add file %s\n", fname);
if (td->o.directory)
dprint(FD_FILE, "add file %s\n", fname);
if (td->o.directory)
- len = set_name_idx(file_name, td->o.directory, numjob);
+ len = set_name_idx(file_name, PATH_MAX, td->o.directory, numjob);
sprintf(file_name + len, "%s", fname);
sprintf(file_name + len, "%s", fname);
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "fio.h"
#include "verify.h"
#include "fio.h"
#include "verify.h"
-char client_sockaddr_str[INET6_ADDRSTRLEN] = {0};
+char client_sockaddr_str[INET6_ADDRSTRLEN] = { 0 };
/*
* Check if mmap/mmaphuge has a :/foo/bar/file at the end. If so, return that.
/*
* Check if mmap/mmaphuge has a :/foo/bar/file at the end. If so, return that.
* Returns the directory at the index, indexes > entires will be
* assigned via modulo division of the index
*/
* Returns the directory at the index, indexes > entires will be
* assigned via modulo division of the index
*/
-int set_name_idx(char *target, char *input, int index)
+int set_name_idx(char *target, size_t tlen, char *input, int index)
{
unsigned int cur_idx;
int len;
{
unsigned int cur_idx;
int len;
fname = get_next_name(&str);
if (client_sockaddr_str[0]) {
fname = get_next_name(&str);
if (client_sockaddr_str[0]) {
- len = sprintf(target, "%s/%s.", fname, client_sockaddr_str);
- } else {
- len = sprintf(target, "%s/", fname);
- }
+ len = snprintf(target, tlen, "%s/%s.", fname,
+ client_sockaddr_str);
+ } else
+ len = snprintf(target, tlen, "%s/", fname);
+ target[tlen - 1] = '\0';
#include <string.h>
#include "parse.h"
#include "flist.h"
#include <string.h>
#include "parse.h"
#include "flist.h"
#define td_var_offset(var) ((size_t) &((struct thread_options *)0)->var)
#define td_var_offset(var) ((size_t) &((struct thread_options *)0)->var)
struct thread_data;
void fio_options_free(struct thread_data *);
char *get_name_idx(char *, int);
struct thread_data;
void fio_options_free(struct thread_data *);
char *get_name_idx(char *, int);
-int set_name_idx(char *, char *, int);
+int set_name_idx(char *, size_t, char *, int);
-extern char client_sockaddr_str[INET6_ADDRSTRLEN]; /* used with --client option */
+extern char client_sockaddr_str[]; /* used with --client option */
extern struct fio_option fio_options[FIO_MAX_OPTS];
extern struct fio_option fio_options[FIO_MAX_OPTS];