diff --git a/src/win_utils.c b/src/win_utils.c index 45f70d4a..2b9803fd 100644 --- a/src/win_utils.c +++ b/src/win_utils.c @@ -248,8 +248,8 @@ void snapshot_stack_list(int free_only, double allowed_age) { } last_snap = now; - if (num > stack_list_len + blackouts) { - int n = 2*num; + if (num + blackouts > stack_list_len) { + int n = 2 * (num + blackouts); free(stack_list); stack_list = (winattr_t *) malloc(n*sizeof(winattr_t)); stack_list_len = n; diff --git a/src/xrecord.c b/src/xrecord.c index a657ce80..4bc119c1 100644 --- a/src/xrecord.c +++ b/src/xrecord.c @@ -961,7 +961,7 @@ if (db > 1) fprintf(stderr, "record_CW-%d\n", k++); data = (char *)req; data += sz_xConfigureWindowReq; - for (i=0; ilength; i++) { + for (i = 0; i < req->length - sz_xConfigureWindowReq / 4 && i < 4; i++) { unsigned int v; /* * We use unsigned int for the values. There were