File: arm4module.c
Function: ArmSubbufferAppContext_set_context_value
Error: returning (PyObject*)NULL without setting an exception
1169 static PyObject *
1170 ArmSubbufferAppContext_set_context_value (ArmSubbufferAppContext *self, PyObject *args)
1171 {
1172 	int index;
1173 	const char *value_ptr;
1174 	int i;
1175 
1176 	/*
1177 	 * Supported calling signatures:
1178 	 *	set_context_value (index, value)
1179 	 */
1180 	if (!PyArg_ParseTuple(args, "is", &index, &value_ptr))
when PyArg_ParseTuple() succeeds
taking False path
1181 		return NULL;
1182 	if ((index < ARM_PROPERTY_MIN_ARRAY_INDEX) || (index > ARM_PROPERTY_MAX_ARRAY_INDEX))
when considering range: 20 <= value <= 0x7fffffff
taking True path
1183 		return NULL;
1184 
1185 	/* Allocate the property array as required */
1186 	if (self->arm_buffer.context_value_array == NULL)
1187 	{
1188 		self->arm_buffer.context_value_array = calloc (sizeof (arm_char_t *), ARM_PROPERTY_MAX_COUNT);
1189 		for (i = 0; i < ARM_PROPERTY_MAX_COUNT; i++)
1190 		{
1191 			self->arm_buffer.context_value_array [i] = NULL;
1192 		}
1193 	}
1194 
1195 	/* Prevent memory loss when overwriting a value */
1196 	ArmSubbufferAppContext_free_context_value (self, index);
1197 
1198 	/* Copy the value */
1199 	self->arm_buffer.context_value_array [index] = strndup (value_ptr, ARM_PROPERTY_VALUE_MAX_CHARS);
1200 
1201 	index++;
1202 	if (index > self->arm_buffer.context_value_count)
1203 		self->arm_buffer.context_value_count = index;
1204 
1205 	Py_INCREF(Py_None);
1206 	return Py_None;
1207 }
returning (PyObject*)NULL without setting an exception