fixes revealed by randomconfig run
authorDenis Vlasenko <vda.linux@googlemail.com>
Tue, 16 Oct 2007 22:53:05 +0000 (22:53 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Tue, 16 Oct 2007 22:53:05 +0000 (22:53 -0000)
coreutils/stat.c
networking/telnetd.c
procps/top.c

index a5a30546de368c6b310d7031d46e84c52991eb05..5996268ef582843d76d74eb3f2f148e22458c675 100644 (file)
@@ -119,6 +119,7 @@ static const char *human_fstype(uint32_t f_type)
        return humantypes[i].fs;
 }
 
+#if ENABLE_FEATURE_STAT_FORMAT
 static void strcatc(char *str, char c)
 {
        int len = strlen(str);
@@ -132,7 +133,6 @@ static void printfs(char *pformat, const char *msg)
        printf(pformat, msg);
 }
 
-#if ENABLE_FEATURE_STAT_FORMAT
 /* print statfs info */
 static void print_statfs(char *pformat, const char m,
                const char *const filename, const void *data
index 8cadc634452d3864efe0d0c33f3756d18d15153d..f1927e069c57126258e7e4520f5ea10b7dd822ac 100644 (file)
@@ -492,7 +492,11 @@ int telnetd_main(int argc, char **argv)
        while (ts) {
                struct tsession *next = ts->next; /* in case we free ts. */
                if (ts->shell_pid == -1) {
+#if !ENABLE_FEATURE_TELNETD_STANDALONE
+                       return 0;
+#else
                        free_session(ts);
+#endif
                } else {
                        if (ts->size1 > 0)       /* can write to pty */
                                FD_SET(ts->ptyfd, &wrfdset);
@@ -552,8 +556,6 @@ int telnetd_main(int argc, char **argv)
                        if (count < 0) {
                                if (errno == EAGAIN)
                                        goto skip1;
-                               if (IS_INETD)
-                                       return 0;
                                goto kill_session;
                        }
                        ts->size1 -= count;
@@ -569,8 +571,6 @@ int telnetd_main(int argc, char **argv)
                        if (count < 0) {
                                if (errno == EAGAIN)
                                        goto skip2;
-                               if (IS_INETD)
-                                       return 0;
                                goto kill_session;
                        }
                        ts->size2 -= count;
@@ -601,8 +601,6 @@ int telnetd_main(int argc, char **argv)
                        if (count <= 0) {
                                if (count < 0 && errno == EAGAIN)
                                        goto skip3;
-                               if (IS_INETD)
-                                       return 0;
                                goto kill_session;
                        }
                        /* Ignore trailing NUL if it is there */
@@ -622,8 +620,6 @@ int telnetd_main(int argc, char **argv)
                        if (count <= 0) {
                                if (count < 0 && errno == EAGAIN)
                                        goto skip4;
-                               if (IS_INETD)
-                                       return 0;
                                goto kill_session;
                        }
                        ts->size2 += count;
@@ -635,8 +631,14 @@ int telnetd_main(int argc, char **argv)
                ts = next;
                continue;
  kill_session:
+#if !ENABLE_FEATURE_TELNETD_STANDALONE
+               return 0;
+#else
+               if (IS_INETD)
+                       return 0;
                free_session(ts);
                ts = next;
+#endif
        }
 
        goto again;
index 7f1c83fc1c56d1b3213604d2994041c1b4fcfe5a..0da742f0b1a146e34b908b3062b3d2307fcac543 100644 (file)
@@ -82,10 +82,12 @@ struct globals {
        /* int hist_iterations; */
        unsigned total_pcpu;
        /* unsigned long total_vsz; */
-       char line_buf[80];
 #endif
+       char line_buf[80];
 };
+
 enum { LINE_BUF_SIZE = COMMON_BUFSIZE - offsetof(struct globals, line_buf) };
+
 #define G (*(struct globals*)&bb_common_bufsiz1)
 #define INIT_G() \
        do { \