mirror of
https://github.com/swaywm/sway.git
synced 2024-11-22 07:51:28 +00:00
fix: use sane value for json_tokener max_depth
INT_MAX causes a NULL pointer if there is not enough memory available to fit (INT_MAX * sizeof(struct json_tokener_srec)).
This commit is contained in:
parent
944d7031c5
commit
96baef8ae9
|
@ -1,4 +1,8 @@
|
||||||
#define _POSIX_C_SOURCE 200809L
|
#define _POSIX_C_SOURCE 200809L
|
||||||
|
|
||||||
|
// arbitrary number, it's probably sufficient, higher number = more memory usage
|
||||||
|
#define JSON_MAX_DEPTH 512
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
@ -481,7 +485,7 @@ int main(int argc, char **argv) {
|
||||||
char *resp = ipc_single_command(socketfd, type, command, &len);
|
char *resp = ipc_single_command(socketfd, type, command, &len);
|
||||||
|
|
||||||
// pretty print the json
|
// pretty print the json
|
||||||
json_tokener *tok = json_tokener_new_ex(INT_MAX);
|
json_tokener *tok = json_tokener_new_ex(JSON_MAX_DEPTH);
|
||||||
if (tok == NULL) {
|
if (tok == NULL) {
|
||||||
sway_log(SWAY_ERROR, "failed allocating json_tokener");
|
sway_log(SWAY_ERROR, "failed allocating json_tokener");
|
||||||
ret = 1;
|
ret = 1;
|
||||||
|
@ -525,7 +529,7 @@ int main(int argc, char **argv) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
json_tokener *tok = json_tokener_new_ex(INT_MAX);
|
json_tokener *tok = json_tokener_new_ex(JSON_MAX_DEPTH);
|
||||||
if (tok == NULL) {
|
if (tok == NULL) {
|
||||||
sway_log(SWAY_ERROR, "failed allocating json_tokener");
|
sway_log(SWAY_ERROR, "failed allocating json_tokener");
|
||||||
ret = 1;
|
ret = 1;
|
||||||
|
|
Loading…
Reference in a new issue