1591 static PyObject*
1592 PcapDevice_send(PcapDevice *self, PyObject *args)
1593 {
1594 char *pckt_buffer;
1595 Py_ssize_t pckt_size;
1596 PyObject *pckt, *pckt_string;
1597
1598 if (self->status != 1)
when considering value == (char)1 from cpyrit/_cpyrit_cpu.c:1598
taking False path
1599 {
1600 PyErr_SetString(PyExc_RuntimeError, "Instance not ready for writing.");
1601 return NULL;
1602 }
1603
1604 if (!PyArg_ParseTuple(args, "O", &pckt))
when PyArg_ParseTuple() succeeds
taking False path
1605 return NULL;
1606
1607 pckt_string = PyObject_Str(pckt);
when PyObject_Str() succeeds
1608 if (!pckt_string)
taking False path
1609 {
1610 PyErr_SetString(PyExc_ValueError, "Failed to get string-representation from object.");
1611 return NULL;
1612 }
1613
1614 if (PyString_AsStringAndSize(pckt_string, &pckt_buffer, &pckt_size))
when considering range: -0x80000000 <= value <= -1
taking True path
1615 {
1616 Py_DECREF(pckt_string);
when taking True path
1617 return NULL;
1618 }
1619
1620 if (pcap_sendpacket(self->p, (unsigned char*)pckt_buffer, pckt_size))
1621 {
1622 PyErr_Format(PyExc_IOError, "Failed to send packet (libpcap: %s).", pcap_geterr(self->p));
1623 Py_DECREF(pckt_string);
1624 return NULL;
1625 }
1626
1627 Py_DECREF(pckt_string);
1628
1629 Py_INCREF(Py_None);
1630 return Py_None;
1631 }
returning (PyObject*)NULL without setting an exception
found 3 similar trace(s) to this