File: arm4module.c
Function: ArmSubbufferTranIdentity_set_context_name
Error: returning (PyObject*)NULL without setting an exception
1491 static PyObject *
1492 ArmSubbufferTranIdentity_set_context_name (ArmSubbufferTranIdentity *self, PyObject *args)
1493 {
1494 	int index;
1495 	const char *name_ptr;
1496 	int i;
1497 
1498 	/*
1499 	 * Supported calling signatures:
1500 	 *	set_context_name (index, name)
1501 	 */
1502 	if (!PyArg_ParseTuple(args, "is", &index, &name_ptr))
when PyArg_ParseTuple() succeeds
taking False path
1503 		return NULL;
1504 	if ((index < ARM_PROPERTY_MIN_ARRAY_INDEX) || (index > ARM_PROPERTY_MAX_ARRAY_INDEX))
when considering range: 20 <= value <= 0x7fffffff
taking True path
1505 		return NULL;
1506 
1507 	/* Allocate the property array as required */
1508 	if (self->arm_buffer.context_name_array == NULL)
1509 	{
1510 		self->arm_buffer.context_name_array = calloc (sizeof (arm_char_t *), ARM_PROPERTY_MAX_COUNT);
1511 		for (i = 0; i < ARM_PROPERTY_MAX_COUNT; i++)
1512 		{
1513 			self->arm_buffer.context_name_array [i] = NULL;
1514 		}
1515 	}
1516 
1517 	/* Prevent memory loss when overwriting a value */
1518 	ArmSubbufferTranIdentity_free_context_name (self, index);
1519 
1520 	/* Copy the names */
1521 	self->arm_buffer.context_name_array [index] = strndup (name_ptr, ARM_PROPERTY_NAME_MAX_CHARS);
1522 
1523 	index++;
1524 	if (index > self->arm_buffer.context_name_count)
1525 		self->arm_buffer.context_name_count = index;
1526 
1527 	Py_INCREF(Py_None);
1528 	return Py_None;
1529 }
returning (PyObject*)NULL without setting an exception