$OpenBSD: patch-Manager_C,v 1.1.1.1 2007/04/27 18:31:12 matthieu Exp $ --- Manager.C.orig Fri Mar 21 12:12:30 1997 +++ Manager.C Wed Apr 11 22:29:23 2007 @@ -191,11 +191,11 @@ int WindowManager::errorHandler(Display *d, XErrorEven char msg[100], number[30], request[100]; XGetErrorText(d, e->error_code, msg, 100); - sprintf(number, "%d", e->request_code); + snprintf(number, sizeof(number), "%d", e->request_code); XGetErrorDatabaseText(d, "XRequest", number, "", request, 100); - if (request[0] == '\0') sprintf(request, "", - e->request_code); + if (request[0] == '\0') snprintf(request, sizeof(request), + "", e->request_code); fprintf(stderr, "wm2: %s (0x%lx): %s\n", request, e->resourceid, msg); @@ -321,7 +321,7 @@ unsigned long WindowManager::allocateColour(char *name &nearest, &ideal)) { char error[100]; - sprintf(error, "couldn't load %s colour", desc); + snprintf(error, sizeof(error), "couldn't load %s colour", desc); fatal(error); } else return nearest.pixel; @@ -368,7 +368,7 @@ Time WindowManager::timestamp(Boolean reset) return m_currentTime; } -void WindowManager::sigHandler() +void WindowManager::sigHandler(int) { m_signalled = True; } @@ -521,11 +521,6 @@ Boolean WindowManager::raiseTransients(Client *c) } } -#ifdef sgi -extern "C" { -extern int putenv(char *); /* not POSIX */ -} -#endif void WindowManager::spawn() { @@ -543,8 +538,8 @@ void WindowManager::spawn() if (displayName && (displayName[0] != '\0')) { - char *pstring = (char *)malloc(strlen(displayName) + 10); - sprintf(pstring, "DISPLAY=%s", displayName); + char *pstring; + asprintf(&pstring, "DISPLAY=%s", displayName); putenv(pstring); }