Don't hard-code Linux's buffer size.
---
 toys/posix/uname.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/toys/posix/uname.c b/toys/posix/uname.c
index 2e17d387..a1338415 100644
--- a/toys/posix/uname.c
+++ b/toys/posix/uname.c
@@ -41,12 +41,13 @@ config UNAME
 void uname_main(void)
 {
   int i, flags = toys.optflags, needspace=0;
+  struct utsname u;

-  uname((void *)toybuf);
+  uname(&u);

   if (!flags) flags = FLAG_s;
   for (i=0; i<5; i++) {
-    char *c = toybuf+(65*i);
+    char *c = ((char *) &u)+(sizeof(u.sysname)*i);

     if (flags & ((1<<i)|FLAG_a)) {
       int len = strlen(c);
-- 
2.20.0.rc1.387.gf8505762e3-goog
From 8cf6423ea964f9be95a12734e0c18ff187b65995 Mon Sep 17 00:00:00 2001
From: Elliott Hughes <[email protected]>
Date: Fri, 30 Nov 2018 14:48:31 -0800
Subject: [PATCH] macOS: fix uname.

Don't hard-code Linux's buffer size.
---
 toys/posix/uname.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/toys/posix/uname.c b/toys/posix/uname.c
index 2e17d387..a1338415 100644
--- a/toys/posix/uname.c
+++ b/toys/posix/uname.c
@@ -41,12 +41,13 @@ config UNAME
 void uname_main(void)
 {
   int i, flags = toys.optflags, needspace=0;
+  struct utsname u;
 
-  uname((void *)toybuf);
+  uname(&u);
 
   if (!flags) flags = FLAG_s;
   for (i=0; i<5; i++) {
-    char *c = toybuf+(65*i);
+    char *c = ((char *) &u)+(sizeof(u.sysname)*i);
 
     if (flags & ((1<<i)|FLAG_a)) {
       int len = strlen(c);
-- 
2.20.0.rc1.387.gf8505762e3-goog

_______________________________________________
Toybox mailing list
[email protected]
http://lists.landley.net/listinfo.cgi/toybox-landley.net

Reply via email to