aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index f7e7ba778..687e86f7e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -258,10 +258,11 @@ initialize_decoder_and_player(void)
param = config_get_param(CONF_AUDIO_BUFFER_SIZE);
if (param != NULL) {
- buffer_size = strtol(param->value, &test, 10);
- if (*test != '\0' || buffer_size <= 0)
+ long tmp = strtol(param->value, &test, 10);
+ if (*test != '\0' || tmp <= 0 || tmp == LONG_MAX)
MPD_ERROR("buffer size \"%s\" is not a positive integer, "
"line %i\n", param->value, param->line);
+ buffer_size = tmp;
} else
buffer_size = DEFAULT_BUFFER_SIZE;