فهرست منبع

Fix listen_port check.

Interestingly, the bug depends on compiler behavior. If local
variables are automatically initialized to 0, then this always caused
the program to error out indicating a failure to parse the listen
port. Otherwise, the test was a no-op (except the rare case where the
memory happened to be zero anyways).

Thanks to Eugen Melnikoff for finding this.
Joel Martin 15 سال پیش
والد
کامیت
1656b1b98d
1فایلهای تغییر یافته به همراه2 افزوده شده و 2 حذف شده
  1. 2 2
      utils/wsproxy.c

+ 2 - 2
utils/wsproxy.c

@@ -245,7 +245,7 @@ void proxy_handler(ws_ctx_t *ws_ctx) {
 
 int main(int argc, char *argv[])
 {
-    int listen_port, fd, c, option_index = 0;
+    int fd, c, option_index = 0;
     static int ssl_only = 0, foreground = 0;
     char *found;
     static struct option long_options[] = {
@@ -309,7 +309,7 @@ int main(int argc, char *argv[])
         settings.listen_port = strtol(argv[optind], NULL, 10);
     }
     optind++;
-    if (listen_port == 0) {
+    if (settings.listen_port == 0) {
         usage("Could not parse listen_port\n");
     }