]> source.dussan.org Git - rspamd.git/commitdiff
Do not panic when json buffer is NULL or empty.
authorVsevolod Stakhov <vsevolod@rambler-co.ru>
Sat, 12 Jan 2013 13:38:21 +0000 (17:38 +0400)
committerVsevolod Stakhov <vsevolod@rambler-co.ru>
Sat, 12 Jan 2013 13:38:21 +0000 (17:38 +0400)
src/json/load.c

index 0f0968e9e12fda1e72b9393581aa7f5cdf312daa..45ff45d6787053d263f19b9945174fbff18b0647 100644 (file)
@@ -795,6 +795,11 @@ json_loads (const char *string, json_error_t * error)
                .pos = 0
        };
 
+       if (string == NULL || *string == '\0') {
+               error_set (error, NULL, "empty stream");
+               return NULL;
+       }
+
        if (lex_init (&lex, string_get, string_eof, (void *)&stream_data))
                return NULL;
 
@@ -892,6 +897,11 @@ json_load_evbuffer (struct evbuffer *evb, json_error_t *error)
        lex_t                           lex;
        json_t                         *result;
 
+       if (evb == NULL || EVBUFFER_LENGTH (evb) == 0) {
+               error_set (error, NULL, "empty stream");
+               return NULL;
+       }
+
        stream_data.data = EVBUFFER_DATA (evb);
        stream_data.pos = 0;
        stream_data.len = EVBUFFER_LENGTH (evb);