* Identical to NgRecvData() except buffer is dynamically allocated. */
| 254 | * Identical to NgRecvData() except buffer is dynamically allocated. |
| 255 | */ |
| 256 | int |
| 257 | NgAllocRecvData(int ds, u_char **buf, char *hook) |
| 258 | { |
| 259 | int len; |
| 260 | #ifndef FSTACK |
| 261 | socklen_t optlen; |
| 262 | |
| 263 | optlen = sizeof(len); |
| 264 | if (getsockopt(ds, SOL_SOCKET, SO_RCVBUF, &len, &optlen) == -1 || |
| 265 | #else |
| 266 | len = NGCTL_DEFAULT_RCVBUF; |
| 267 | if ( |
| 268 | #endif |
| 269 | (*buf = malloc(len)) == NULL) |
| 270 | return (-1); |
| 271 | if ((len = NgRecvData(ds, *buf, len, hook)) < 0) |
| 272 | free(*buf); |
| 273 | return (len); |
| 274 | } |
| 275 | |
| 276 | /* |
| 277 | * Write a packet to a data socket. The packet will be sent |
no test coverage detected