From: scottmk Date: Tue, 17 Feb 2009 23:19:16 +0000 (+0000) Subject: In searchJOIN(): added a bit of sanity checking, to prevent X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=fd671000d0a91de15a454961d7f77bdf58a644ef;p=Evergreen.git 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 --- 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");