$OpenBSD: patch-jcc_c,v 1.2 2003/04/01 20:52:59 sturm Exp $ --- jcc.c.orig Mon Mar 17 11:48:59 2003 +++ jcc.c Sat Mar 29 19:10:14 2003 @@ -688,7 +688,7 @@ static int32 server_thread(void *data); #define sleep(N) DosSleep(((N) * 100)) #endif -#ifdef OSX_DARWIN +#if defined(OSX_DARWIN) || defined(__OpenBSD__) /* * Hit OSX over the head with a hammer. Protect all *_r functions. */ @@ -886,7 +886,7 @@ static void chat(struct client_state *cs if (http->cmd == NULL) { - strcpy(buf, CHEADER); + strlcpy(buf, CHEADER, sizeof(buf)); write_socket(csp->cfd, buf, strlen(buf)); log_error(LOG_LEVEL_CLF, "%s - - [%T] \" \" 400 0", csp->ip_addr_str); @@ -966,7 +966,7 @@ static void chat(struct client_state *cs || (csp->action->flags & ACTION_LIMIT_CONNECT && !match_portlist(csp->action->string[ACTION_STRING_LIMIT_CONNECT], csp->http->port)) ) { - strcpy(buf, CFORBIDDEN); + strlcpy(buf, CFORBIDDEN, sizeof(buf)); write_socket(csp->cfd, buf, strlen(buf)); log_error(LOG_LEVEL_CONNECT, "Denying suspicious CONNECT request from %s", csp->ip_addr_str); @@ -1417,7 +1417,7 @@ static void chat(struct client_state *cs * This is NOT the body, so * Let's pretend the server just sent us a blank line. */ - len = sprintf(buf, "\r\n"); + len = snprintf(buf, sizeof(buf), "\r\n"); /* * Now, let the normal header parsing algorithm below do its @@ -2438,7 +2438,7 @@ static void listen_loop(void) log_error(LOG_LEVEL_ERROR, "can't fork: %E"); - sprintf(buf , "Privoxy: can't fork: errno = %d", errno); + snprintf(buf, sizeof(buf), "Privoxy: can't fork: errno = %d", errno); write_socket(csp->cfd, buf, strlen(buf)); close_socket(csp->cfd);