inode->i_uid = current->fsuid;
inode->i_gid = current->fsgid;
- sprintf(name, "[%lu]", inode->i_ino);
+ snprintf(name, sizeof(name), "[%lu]", inode->i_ino);
this.name = name;
this.len = strlen(name);
this.hash = inode->i_ino;
switch (c->family) {
case 0x07: memcpy(family, "Itanium", 8); break;
case 0x1f: memcpy(family, "Itanium 2", 10); break;
- default: sprintf(family, "%u", c->family); break;
+ default: snprintf(family, sizeof(family), "%u", c->family); break;
}
/* build the feature string: */
/* print unknown features as a hex value: */
if (sep)
*cp++ = sep;
- sprintf(cp, " 0x%lx", mask);
+ snprintf(cp, sizeof(features) - (cp - features), " 0x%lx", mask);
}
seq_printf(m,
geoid = cnodeid_get_geoid(cnode);
moduleid = geo_module(geoid);
- sprintf(address, "module_%c%c%c%c%.2d",
+ snprintf(address, 15, "module_%c%c%c%c%.2d",
'0'+RACK_GET_CLASS(MODULE_GET_RACK(moduleid)),
'0'+RACK_GET_GROUP(MODULE_GET_RACK(moduleid)),
'0'+RACK_GET_NUM(MODULE_GET_RACK(moduleid)),
bricktype = MODULE_GET_BTYPE(moduleid);
if ((bricktype == L1_BRICKTYPE_191010) ||
(bricktype == L1_BRICKTYPE_1932))
- sprintf(address, "%s^%d", address, geo_slot(geoid));
+ snprintf(address, 15+8, "%s^%d", address, geo_slot(geoid));
}
#endif
char buf[200]; /* comm[] is at most 16 bytes... */
size_t len;
- len = sprintf(buf, "%s(%d): unaligned access to 0x%016lx, "
+ len = snprintf(buf, sizeof(buf), "%s(%d): unaligned access to 0x%016lx, "
"ip=0x%016lx\n\r", current->comm, current->pid,
ifa, regs->cr_iip + ipsr->ri);
/*
panic("can't allocate start info page");
si = page_to_virt(start_info_page);
memset(si, 0, PAGE_SIZE);
- sprintf(si->magic, "xen-%i.%i-ia64",
+ snprintf(si->magic, sizeof(si->magic), "xen-%i.%i-ia64",
xen_major_version(), xen_minor_version());
si->nr_pages = max_pages;
si->flags = SIF_INITDOMAIN|SIF_PRIVILEGED;
}
dbg_printk("Register read regnum = 0x%lx, val = 0x%lx\n", regnum, reg);
- sprintf(buf, "%.08lx", swab64(reg));
+ snprintf(buf, sizeof(buf), "%.08lx", swab64(reg));
out:
return gdb_send_reply(buf, ctx);
out_err:
dbg_printk("Register read unsupported regnum = 0x%lx\n", regnum);
- sprintf(buf, "%s", "x");
+ safe_strcpy(buf, "x");
goto out;
}
#else
if (arg.error > 0) {
// notify gdb that this register is not supported.
// see fetch_register_using_p() in gdb/remote.c.
- sprintf(buf, "%s", "x");
+ safe_strcpy(buf, "x");
} else if (IA64_FR0_REGNUM <= regnum && regnum <= IA64_FR0_REGNUM + 127) {
- sprintf(buf, "%.016lx", swab64(freg.u.bits[0]));
- sprintf(buf + 16, "%.016lx", swab64(freg.u.bits[1]));
+ snprintf(buf, sizeof(buf), "%.016lx", swab64(freg.u.bits[0]));
+ snprintf(buf + 16, sizeof(buf) - 16, "%.016lx", swab64(freg.u.bits[1]));
} else {
- sprintf(buf, "%.016lx", swab64(reg));
+ snprintf(buf, sizeof(buf), "%.016lx", swab64(reg));
}
out:
return gdb_send_reply(buf, ctx);
out_err:
dbg_printk("Register read unsupported regnum = 0x%lx\n", regnum);
- sprintf(buf, "%s", "E0");
+ safe_strcpy(buf, "E0");
goto out;
}
#endif
int major = xen_major_version();
int minor = xen_minor_version();
- p += sprintf(p,"xen-%d.%d-ia64 ", major, minor);
+ p += snprintf(p,sizeof(info), "xen-%d.%d-ia64 ", major, minor);
if (vmx_enabled)
- p += sprintf(p,"hvm-%d.%d-ia64 ", major, minor);
+ p += snprintf(p,sizeof(info) - (p - info),"hvm-%d.%d-ia64 ", major, minor);
*(p-1) = 0;
si = (start_info_t *)(rma_addr(&d->arch, RMA_START_INFO) + rma);
printk("xen_start_info: %p\n", si);
- sprintf(si->magic, "xen-%i.%i-powerpc%d%s",
+ snprintf(si->magic, sizeof(si->magic), "xen-%i.%i-powerpc%d%s",
xen_major_version(), xen_minor_version(), BITS_PER_LONG, "HV");
si->flags = SIF_PRIVILEGED | SIF_INITDOMAIN;