From fd671000d0a91de15a454961d7f77bdf58a644ef Mon Sep 17 00:00:00 2001 From: scottmk Date: Tue, 17 Feb 2009 23:19:16 +0000 Subject: [PATCH] In searchJOIN(): added a bit of sanity checking, to prevent segfaults induced by certain kinds of malformed JSOn queries. git-svn-id: svn://svn.open-ils.org/ILS/trunk@12211 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/c-apps/oils_cstore.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Open-ILS/src/c-apps/oils_cstore.c b/Open-ILS/src/c-apps/oils_cstore.c index 14ac87564f..9b85bd406b 100644 --- a/Open-ILS/src/c-apps/oils_cstore.c +++ b/Open-ILS/src/c-apps/oils_cstore.c @@ -2011,8 +2011,17 @@ static char* searchJOIN ( const jsonObject* join_hash, osrfHash* leftmeta ) { free(_tmp); working_hash = freeable_hash; } - else + else { + if( join_hash->type != JSON_HASH ) { + osrfLogError( + OSRF_LOG_MARK, + "%s: JOIN failed; expected JSON object type not found", + MODULENAME + ); + return NULL; + } working_hash = join_hash; + } growing_buffer* join_buf = buffer_init(128); const char* leftclass = osrfHashGet(leftmeta, "classname"); -- 2.11.0