From 4220e676bae8e7bd06576d5dacb144031014d266 Mon Sep 17 00:00:00 2001 From: Philippe Houdoin Date: Sat, 29 Jan 2005 15:24:49 +0000 Subject: [PATCH] Added more fields length safety. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11124 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kernel/libroot/posix/sys/uname.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/kernel/libroot/posix/sys/uname.c b/src/kernel/libroot/posix/sys/uname.c index 99b0676372..58c0443dd9 100644 --- a/src/kernel/libroot/posix/sys/uname.c +++ b/src/kernel/libroot/posix/sys/uname.c @@ -22,13 +22,16 @@ uname(struct utsname *info) get_system_info(&sinfo); - strcpy(info->sysname, "Haiku"); - strlcpy(info->version, sinfo.kernel_build_date, B_OS_NAME_LENGTH); - strlcat(info->version, sinfo.kernel_build_time, B_OS_NAME_LENGTH); - sprintf(info->release, "%lld", sinfo.kernel_version); + strlcpy(info->sysname, "Haiku", sizeof(info->sysname)); + strlcpy(info->version, sinfo.kernel_build_date, sizeof(info->version)); + strlcat(info->version, sinfo.kernel_build_time, sizeof(info->version)); + snprintf(info->release, sizeof(info->release), "%lld", sinfo.kernel_version); + // TODO fill machine field... + strlcpy(info->machine, "unknown", sizeof(info->machine)); + // TODO fill nodename field when we have hostname info - strcpy(info->nodename, "unknown"); + strlcpy(info->nodename, "unknown", sizeof(info->nodename)); return 0; }