Comment 1 for bug 481776

Revision history for this message
maf (maf-tkrat) wrote :

I have a similar problem, that is socat is crashing. But I am not sure it is the same. I got a different stack trace:
#0 sanitize_string (
    data=0xbfffee6e "\\0\\0\\0\\0\\02.6.31-20-generic-pae\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0#57-Ubuntu SMP Mon Feb 8 10:23:59 UTC 2010\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\"..., bytes=3086233586,
    coded=0xc0000000 <Address 0xc0000000 out of bounds>, style=8192)
    at utils.c:143
#1 0x0806d8d4 in sockaddr_unix_info (sa=0x30785c35, salen=813194308,
    buff=0xbfffec12 "\\xAE.\\0\\0\\0\\xA8\\xDE\\xEE\\xAED\\n\\a\\b\\0\\0\\0\\0Cs\\b\\b\\0\\0\\0\\0h\\xE2\\xEE\\xAE\\x03\\0\\0\\0\\x03\\0\\0\\0\\xA8\\xE1\\xEE\\xAE\\x91\\xE7\\x04\\be\\xE4\\xEE\\xAE\\x7E\\xE4\\xEE\\xAE\\x02\\0\\0\\0\\x7E\\xE4\\xEE\\xAE\\x8D\\xE0\\xEE\\xAE\\x10\\xE1\\x"..., blen=1546664312)
    at sysutils.c:211
#2 0x39785c45 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

I traced this to an uninitialized variable and fixed it with the following patch:
--- xio-gopen.c.orig 2010-03-11 11:28:10.513848890 +0100
+++ xio-gopen.c 2010-03-11 11:27:53.171782205 +0100
@@ -46,7 +46,7 @@
    if (exists && S_ISSOCK(st_mode)) {
 #if WITH_UNIX
       union sockaddr_union us;
- socklen_t uslen;
+ socklen_t uslen = sizeof(us);
       char infobuff[256];

       Info1("\"%s\" is a socket, connecting to it", filename);

I have reported this issue to the upstream socat source as well.