1
0
Fork 0

added some memory checks

This commit is contained in:
Jan Steemann 2012-10-11 15:49:20 +02:00
parent 38ca933b6d
commit eba0456c05
2 changed files with 24 additions and 7 deletions

View File

@ -3097,6 +3097,11 @@ static TRI_index_t* CreateCapConstraintDocumentCollection (TRI_document_collecti
// create a new index
idx = TRI_CreateCapConstraint(&sim->base, size);
if (idx == NULL) {
TRI_set_errno(TRI_ERROR_OUT_OF_MEMORY);
return NULL;
}
if (iid) {
idx->_iid = iid;

View File

@ -346,11 +346,16 @@ static TRI_json_t* JsonCapConstraint (TRI_index_t* idx, TRI_primary_collection_t
}
// create json object and fill it
json = TRI_CreateArrayJson(TRI_CORE_MEM_ZONE);
json = TRI_CreateArrayJson(TRI_UNKNOWN_MEM_ZONE);
if (json == NULL) {
TRI_set_errno(TRI_ERROR_OUT_OF_MEMORY);
TRI_Insert3ArrayJson(TRI_CORE_MEM_ZONE, json, "id", TRI_CreateNumberJson(TRI_CORE_MEM_ZONE, idx->_iid));
TRI_Insert3ArrayJson(TRI_CORE_MEM_ZONE, json, "type", TRI_CreateStringCopyJson(TRI_CORE_MEM_ZONE, "cap"));
TRI_Insert3ArrayJson(TRI_CORE_MEM_ZONE, json, "size", TRI_CreateNumberJson(TRI_CORE_MEM_ZONE, cap->_size));
return NULL;
}
TRI_Insert3ArrayJson(TRI_UNKNOWN_MEM_ZONE, json, "id", TRI_CreateNumberJson(TRI_UNKNOWN_MEM_ZONE, idx->_iid));
TRI_Insert3ArrayJson(TRI_UNKNOWN_MEM_ZONE, json, "type", TRI_CreateStringCopyJson(TRI_UNKNOWN_MEM_ZONE, "cap"));
TRI_Insert3ArrayJson(TRI_UNKNOWN_MEM_ZONE, json, "size", TRI_CreateNumberJson(TRI_UNKNOWN_MEM_ZONE, cap->_size));
return json;
}
@ -424,7 +429,12 @@ TRI_index_t* TRI_CreateCapConstraint (struct TRI_primary_collection_s* collectio
size_t size) {
TRI_cap_constraint_t* cap;
cap = TRI_Allocate(TRI_CORE_MEM_ZONE, sizeof(TRI_cap_constraint_t), false);
cap = TRI_Allocate(TRI_UNKNOWN_MEM_ZONE, sizeof(TRI_cap_constraint_t), false);
if (cap == NULL) {
TRI_set_errno(TRI_ERROR_OUT_OF_MEMORY);
return NULL;
}
cap->base._iid = TRI_NewTickVocBase();
cap->base._type = TRI_IDX_TYPE_CAP_CONSTRAINT;
@ -461,7 +471,7 @@ void TRI_DestroyCapConstraint (TRI_index_t* idx) {
void TRI_FreeCapConstraint (TRI_index_t* idx) {
TRI_DestroyCapConstraint(idx);
TRI_Free(TRI_CORE_MEM_ZONE, idx);
TRI_Free(TRI_UNKNOWN_MEM_ZONE, idx);
}
////////////////////////////////////////////////////////////////////////////////
@ -3171,6 +3181,7 @@ static TRI_json_t* JsonSkiplistIndex (TRI_index_t* idx, TRI_primary_collection_t
path = collection->_shaper->lookupAttributePathByPid(collection->_shaper, shape);
if (path == NULL) {
TRI_Free(TRI_UNKNOWN_MEM_ZONE, fieldList);
return NULL;
}
fieldList[j] = ((const char*) path) + sizeof(TRI_shape_path_t) + path->_aidLength * sizeof(TRI_shape_aid_t);
@ -3181,8 +3192,9 @@ static TRI_json_t* JsonSkiplistIndex (TRI_index_t* idx, TRI_primary_collection_t
// create json object and fill it
// ..........................................................................
json = TRI_CreateArrayJson(TRI_UNKNOWN_MEM_ZONE);
if (!json) {
if (json == NULL) {
TRI_Free(TRI_UNKNOWN_MEM_ZONE, fieldList);
return NULL;
}