Mercurial > cpython-lru_cache-weakref
diff Modules/socketmodule.c @ 66799:50d170bb71c7
Issue #6697: Fixed instances of _PyUnicode_AsString() result not checked for NULL
| author | Alexander Belopolsky <alexander.belopolsky@gmail.com> |
|---|---|
| date | Wed, 08 Dec 2010 23:31:48 +0000 |
| parents | 3d9a86b8cc98 |
| children | 3c9232a684ae e2f96bd29252 |
line wrap: on
line diff
--- a/Modules/socketmodule.c Wed Dec 08 22:53:00 2010 +0000 +++ b/Modules/socketmodule.c Wed Dec 08 23:31:48 2010 +0000 @@ -1406,9 +1406,9 @@ { struct sockaddr_hci *addr = (struct sockaddr_hci *)addr_ret; #if defined(__NetBSD__) || defined(__DragonFly__) - char *straddr = PyBytes_AS_STRING(args); - - _BT_HCI_MEMB(addr, family) = AF_BLUETOOTH; + char *straddr = PyBytes_AS_STRING(args); + + _BT_HCI_MEMB(addr, family) = AF_BLUETOOTH; if (straddr == NULL) { PyErr_SetString(socket_error, "getsockaddrarg: " "wrong format"); @@ -4022,8 +4022,10 @@ pptr = pbuf; } else if (PyUnicode_Check(pobj)) { pptr = _PyUnicode_AsString(pobj); + if (pptr == NULL) + goto err; } else if (PyBytes_Check(pobj)) { - pptr = PyBytes_AsString(pobj); + pptr = PyBytes_AS_STRING(pobj); } else if (pobj == Py_None) { pptr = (char *)NULL; } else {
