File tree Expand file tree Collapse file tree 1 file changed +3
-5
lines changed Expand file tree Collapse file tree 1 file changed +3
-5
lines changed Original file line number Diff line number Diff line change @@ -354,17 +354,15 @@ int json_init(modsec_rec *msr, char **error_msg) {
354
354
int json_process_chunk (modsec_rec * msr , const char * buf , unsigned int size , char * * error_msg ) {
355
355
if (error_msg == NULL ) return -1 ;
356
356
* error_msg = NULL ;
357
- // Take a copy in case libyajl decodes the buffer inline
358
- base_offset = apr_pstrmemdup (msr -> mp , buf , size );
359
- if (!base_offset ) return -1 ;
357
+ base_offset = buf ;
360
358
361
359
/* Feed our parser and catch any errors */
362
- msr -> json -> status = yajl_parse (msr -> json -> handle , ( unsigned char * ) base_offset , size );
360
+ msr -> json -> status = yajl_parse (msr -> json -> handle , buf , size );
363
361
if (msr -> json -> status != yajl_status_ok ) {
364
362
if (msr -> json -> depth_limit_exceeded ) {
365
363
* error_msg = "JSON depth limit exceeded" ;
366
364
} else {
367
- char * yajl_err = yajl_get_error (msr -> json -> handle , 0 , base_offset , size );
365
+ char * yajl_err = yajl_get_error (msr -> json -> handle , 0 , buf , size );
368
366
* error_msg = apr_pstrdup (msr -> mp , yajl_err );
369
367
yajl_free_error (msr -> json -> handle , yajl_err );
370
368
}
You can’t perform that action at this time.
0 commit comments