}
char *
-ptl_ipaddr_2_str (__u32 ipaddr, char *str, int lookup)
+ptl_ipaddr_2_str(__u32 ipaddr, char *str, size_t strsize, int lookup)
{
#ifdef HAVE_GETHOSTBYNAME
__u32 net_ip;
net_ip = htonl (ipaddr);
he = gethostbyaddr (&net_ip, sizeof (net_ip), AF_INET);
if (he != NULL) {
- strcpy(str, he->h_name);
+ strncpy(str, he->h_name, strsize - 1);
+ str[strsize - 1] = '\0';
return (str);
}
}
jt_ptl_print_interfaces (int argc, char **argv)
{
struct libcfs_ioctl_data data;
- char buffer[3][64];
+ char buffer[3][HOST_NAME_MAX + 1];
int index;
int rc;
break;
printf ("%s: (%s/%s) npeer %d nroute %d\n",
- ptl_ipaddr_2_str(data.ioc_u32[0], buffer[2], 1),
- ptl_ipaddr_2_str(data.ioc_u32[0], buffer[0], 0),
- ptl_ipaddr_2_str(data.ioc_u32[1], buffer[1], 0),
+ ptl_ipaddr_2_str(data.ioc_u32[0], buffer[2],
+ sizeof(buffer[2]), 1),
+ ptl_ipaddr_2_str(data.ioc_u32[0], buffer[0],
+ sizeof(buffer[0]), 0),
+ ptl_ipaddr_2_str(data.ioc_u32[1], buffer[1],
+ sizeof(buffer[1]), 0),
data.ioc_u32[2], data.ioc_u32[3]);
}
{
struct libcfs_ioctl_data data;
lnet_process_id_t id;
- char buffer[2][64];
+ char buffer[2][HOST_NAME_MAX + 1];
int index;
int rc;
printf ("%-20s [%d]%s->%s:%d #%d\n",
libcfs_id2str(id),
data.ioc_count, /* persistence */
- ptl_ipaddr_2_str (data.ioc_u32[2], buffer[0], 1), /* my ip */
- ptl_ipaddr_2_str (data.ioc_u32[0], buffer[1], 1), /* peer ip */
+ /* my ip */
+ ptl_ipaddr_2_str(data.ioc_u32[2], buffer[0],
+ sizeof(buffer[0]), 1),
+ /* peer ip */
+ ptl_ipaddr_2_str(data.ioc_u32[0], buffer[1],
+ sizeof(buffer[1]), 1),
data.ioc_u32[1], /* peer port */
data.ioc_u32[3]); /* conn_count */
} else if (g_net_is_compatible(NULL, PTLLND, 0)) {
printf ("%-20s [%d]@%s:%d\n",
libcfs_nid2str(data.ioc_nid), /* peer nid */
data.ioc_count, /* peer persistence */
- ptl_ipaddr_2_str (data.ioc_u32[0], buffer[1], 1), /* peer ip */
+ /* peer ip */
+ ptl_ipaddr_2_str(data.ioc_u32[0], buffer[1],
+ sizeof(buffer[1]), 1),
data.ioc_u32[1]); /* peer port */
} else {
printf ("%-20s [%d]\n",
{
struct libcfs_ioctl_data data;
lnet_process_id_t id;
- char buffer[2][64];
+ char buffer[2][HOST_NAME_MAX + 1];
int index;
int rc;
(data.ioc_u32[3] == SOCKLND_CONN_BULK_IN) ? "I" :
(data.ioc_u32[3] == SOCKLND_CONN_BULK_OUT) ? "O" : "?",
data.ioc_u32[4], /* scheduler */
- ptl_ipaddr_2_str (data.ioc_u32[2], buffer[0], 1), /* local IP addr */
- ptl_ipaddr_2_str (data.ioc_u32[0], buffer[1], 1), /* remote IP addr */
+ /* local IP addr */
+ ptl_ipaddr_2_str(data.ioc_u32[2], buffer[0],
+ sizeof(buffer[0]), 1),
+ /* remote IP addr */
+ ptl_ipaddr_2_str(data.ioc_u32[0], buffer[1],
+ sizeof(buffer[1]), 1),
data.ioc_u32[1], /* remote port */
data.ioc_count, /* tx buffer size */
data.ioc_u32[5], /* rx buffer size */
int mode = i | 0644;
int rc;
- sprintf(name, "%s-mknod%07o", argv[1], mode);
+ snprintf(name, sizeof(name), "%s-mknod%07o", argv[1], mode);
rc = mknod(name, mode, 0x1234);
switch (i) {
case 0:
int rc;
mode = i | 0644;
- sprintf(name, "%s-creat%07o", argv[1], mode);
+ snprintf(name, sizeof(name), "%s-creat%07o", argv[1], mode);
fd = open(name, O_CREAT|O_RDONLY, mode);
if (fd < 0) {
fprintf(stderr, "%s: ERROR creat %s: %s\n",
struct stat st;
int rc;
- sprintf(name, "%s-mkdir%06o", argv[1], i | 0644);
+ snprintf(name, sizeof(name), "%s-mkdir%06o", argv[1], i | 0644);
rc = mkdir(name, i | 0664);
if (rc < 0) {
fprintf(stderr, "%s: ERROR mkdir %s: %s\n",
break;
}
- sprintf(filename, "%s-%d-%ld", file, thread, nfiles);
+ snprintf(filename, sizeof(filename), "%s-%d-%ld",
+ file, thread, nfiles);
fd = open(filename, O_RDWR | O_CREAT, 0666);
if (fd < 0) {
char *directory;
int i = 1, rc = 0;
- sprintf(cmdname, "%s", argv[0]);
+ snprintf(cmdname, sizeof(cmdname), "%s", argv[0]);
while((i < argc) && (argv[i][0] == '-')) {
switch (argv[i][1]) {
}
if (rc == 0) {
/* children */
- sprintf(cmdname, "%s-%d", argv[0], i);
+ snprintf(cmdname, sizeof(cmdname), "%s-%d", argv[0], i);
return (run_one_child(directory, i, duration));
} else {
/* parent */