File: pyx/font/_t1code.c
Function: py_encoder
Error: returning (PyObject*)NULL without setting an exception
72 static PyObject *py_encoder(PyObject *self, PyObject *args)
73 {
74     unsigned char *data;
75     unsigned char *random;
76     int ldata, pr, lrandom;
77 
78     if (PyArg_ParseTuple(args, "s#is#", (char **) &data, &ldata, &pr, (char **) &random, &lrandom)) {
79       unsigned char *code;
when PyArg_ParseTuple() succeeds
taking True path
80       int i;
81       uint16_t r=pr;
82       PyObject *result;
83 
84       if (! (code = (unsigned char *) malloc(ldata + lrandom)) )
85           return NULL;
when treating unknown void * from pyx/font/_t1code.c:85 as NULL
taking True path
86 
87       for (i=0; i<lrandom; i++) {
88         code[i] = random[i] ^ ( r >> 8);
89         r = (code[i] + r) * C1 + C2;
90       }
91 
92       for (i=0; i<ldata; i++) {
93         code[i+lrandom] = data[i] ^ ( r >> 8);
94         r = (code[i+lrandom] + r) * C1 + C2;
95       }
96 
97       result = PyString_FromStringAndSize((const char *)code, ldata + lrandom);
98       free(code);
99       return result;
100     }
101     else return NULL;
102 
103 }
104 
returning (PyObject*)NULL without setting an exception