1.1beta17 SIGSEGV ...

From: Jean-Hugues ROYER <[email protected]>
Date: Wed, 13 Nov 1996 06:17:36 +0100

A little problem compiling squid 1.1.beta17 :

in icp.c :

void *
icpCreateMessage(
    icp_opcode opcode,
    int flags,
    char *url,
    int reqnum,
    int pad)
{
    void *buf = NULL;
    icp_common_t *headerp = NULL;
    char *urloffset = NULL;
    int buf_len;
    buf_len = sizeof(icp_common_t) + strlen(url) + 1;
    if (opcode == ICP_OP_QUERY)
        buf_len += sizeof(u_num32);
    buf = xcalloc(buf_len, 1);
    headerp = (icp_common_t *) buf;
    headerp->opcode = opcode;
    headerp->version = ICP_VERSION_CURRENT;
    headerp->length = htons(buf_len);
    headerp->reqnum = htonl(reqnum);
    headerp->flags = htonl(flags);
    headerp->pad = pad;
    headerp->shostid = htonl(theOutICPAddr.s_addr);
    urloffset = buf + sizeof(icp_common_t);
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

icp.c(987): Error! E1066: Cannot perform operation with pointer to void

    if (opcode == ICP_OP_QUERY)
        urloffset += sizeof(u_num32);
    memcpy(urloffset, url, strlen(url));
    return buf;
}

-> "void *buf = NULL;" should be "char *buf = NULL;" to compile...

and a major bug in squid if you put (icp_port 0) :

# TAG: icp_port
# The port number where squid send and receive ICP requests to
# and from neighbor caches. Default is 3130. To disable use
# "0". May be overridden with -u on the command line.
#icp_port 3130
icp_port 0

squid dies by SIGSEGV at the first request.
Received on Tue Nov 12 1996 - 21:17:54 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:33:32 MST