Thomas Dickey wrote:

Subject: Re: [Lynx-dev] ..on SOCKS5 support
...
+        p1 = NULL;
+
+        protocol = HTSprintf0(NULL, gettext("(for %s at %s) SOCKS5"),
+                protocol, socks5_host);
+    }
+#ifndef INET6

HTSprintf0 expects to have the address of a pointer in which it
can return a pointer to newly-allocated memory.

'HTSprintf0(NULL,..)' looks okay to me, but crashes
on some condition anyway. Some Runtime-Checks that gets
confused (?).

Anyway, this works better.
 int len = snprintf(NULL, 0, gettext("(for %s at %s) SOCKS5"), protocol, 
socks5_host);
 socks5_protocol = malloc (len+1);
 if (!socks5_protocol)
     outofmem(__FILE__, "malloc");
 snprintf(socks5_buf, len, gettext("(for %s at %s) SOCKS5"), protocol, 
socks5_host);
 protocol = socks5_protocol;

and I'm happy with that.

--
--gv

Reply via email to