diff --git a/pygtk/gtk/gdkevent.override b/pygtk/gtk/gdkevent.override index 3c0501d..131e2e1 100644 --- a/pygtk/gtk/gdkevent.override +++ b/pygtk/gtk/gdkevent.override @@ -354,8 +354,10 @@ _wrap_gdk_event_tp_setattr(PyObject *self, char *attr, PyObject *value) char *tmp; STRING_CHECK(); tmp = PyString_AsString(value); - strncpy((char *) &event->client.data, tmp, - sizeof(event->client.data)); + int len = sizeof(event->client.data.b); + strncpy(event->client.data.b, tmp, len - 1); + if (strlen(tmp) > len) + event->client.data.b[len - 1] = '\0'; return 0; } break;