rem: if (connPtr->mlen > 0) {
context: FreeConn(Driver *drvPtr, Conn *connPtr){    Tcl_HashEntry *hPtr;    Tcl_HashSearch search;    FormFile	  *filePtr;    /*     * Set the completion time and call CLS cleanups.     */    connPtr->times.done = drvPtr->now;        NsClsCleanup(connPtr);    /*     * Cleanup public elements.     */    if (connPtr->request != NULL) {    	Ns_FreeRequest(connPtr->request);        connPtr->request = NULL;    }    Ns_SetTrunc(connPtr->headers, 0);    Ns_SetTrunc(connPtr->outputheaders, 0);    if (connPtr->authUser != NULL) {        ns_free(connPtr->authUser);        connPtr->authUser = connPtr->authPasswd = NULL;    }    connPtr->contentLength = 0;    connPtr->flags = 0;    /*     * Cleanup private elements.     */    if (connPtr->query != NULL) {	Ns_SetFree(connPtr->query);	connPtr->query = NULL;    }    hPtr = Tcl_FirstHashEntry(&connPtr->files, &search);    while (hPtr != NULL) {	filePtr = Tcl_GetHashValue(hPtr);	Ns_SetFree(filePtr->hdrs);	ns_free(filePtr);	hPtr = Tcl_NextHashEntry(&search);    }    Tcl_DeleteHashTable(&connPtr->files);    Tcl_InitHashTable(&connPtr->files, TCL_STRING_KEYS);    connPtr->responseStatus = 0;    connPtr->nContentSent = 0;    /*     * Cleanup content buffers.     */#ifndef _WIN32    if (connPtr->mlen > 0) {        if (munmap(connPtr->content, connPtr->mlen) != 0) {            Ns_Fatal("FreeConn: munmap() failed: %s", strerror(errno));        }        connPtr->mlen = 0;    }#else    ns_free(connPtr->content);#endif    if (connPtr->tfd >= 0) {        Ns_ReleaseTemp(connPtr->tfd);        connPtr->tfd = -1;    }    connPtr->avail = 0;    connPtr->roff = 0;    connPtr->content = NULL;    connPtr->next = NULL;    Ns_DStringFree(&connPtr->ibuf);    Ns_DStringFree(&connPtr->obuf);    /*     * Dump on the free list.     */    Ns_MutexLock(&connlock);    connPtr->nextPtr = firstConnPtr;    firstConnPtr = connPtr;    Ns_MutexUnlock(&connlock);}