Ticket #271: 271.diff

File 271.diff, 2.0 KB (added by jreed, 9 years ago)

patch from jelte

  • src/lib/dns/python/rrttl_python.cc

     
    162162            return (0);
    163163        } else if (PyArg_ParseTuple(args, "O", &bytes) && PySequence_Check(bytes)) {
    164164            Py_ssize_t size = PySequence_Size(bytes);
    165             uint8_t data[size];
    166             int result = readDataFromSequence(data, size, bytes);
     165            uint8_t *buf_data = new uint8_t[size];
     166            int result = readDataFromSequence(buf_data, size, bytes);
    167167            if (result != 0) {
     168                delete[] buf_data;
    168169                return (result);
    169170            }
    170             InputBuffer ib(data, size);
     171            InputBuffer ib(buf_data, size);
    171172            self->rrttl = new RRTTL(ib);
    172173            PyErr_Clear();
     174            delete[] buf_data;
    173175            return (0);
    174176        }
    175177    } catch (IncompleteRRTTL icc) {
  • src/lib/dns/python/rrtype_python.cc

     
    203203            return (0);
    204204        } else if (PyArg_ParseTuple(args, "O", &bytes) && PySequence_Check(bytes)) {
    205205            Py_ssize_t size = PySequence_Size(bytes);
    206             uint8_t data[size];
    207             int result = readDataFromSequence(data, size, bytes);
     206            uint8_t *buf_data = new uint8_t[size];
     207            int result = readDataFromSequence(buf_data, size, bytes);
    208208            if (result != 0) {
     209                delete[] buf_data;
    209210                return (result);
    210211            }
    211             InputBuffer ib(data, size);
     212            InputBuffer ib(buf_data, size);
    212213            self->rrtype = new RRType(ib);
    213214            PyErr_Clear();
     215            delete[] buf_data;
    214216            return (0);
    215217        }
    216218    } catch (IncompleteRRType icc) {