ast_log(LOG_WARNING, "Accept failed: %s\n", strerror(errno));
continue;
}
- ser = calloc(1, sizeof(*ser));
- if (ser) {
- ser->fd = fd;
- if ((ser->f = fdopen(ser->fd, "w+"))) {
- if (ast_pthread_create(&launched, NULL, ast_httpd_helper_thread, ser)) {
- ast_log(LOG_WARNING, "Unable to launch helper thread: %s\n", strerror(errno));
- fclose(ser->f);
- free(ser);
- }
- } else {
- ast_log(LOG_WARNING, "fdopen failed!\n");
- close(ser->fd);
+ if (!(ser = ast_calloc(1, sizeof(*ser)))) {
+ close(fd);
+ continue;
+ }
+ ser->fd = fd;
+ if ((ser->f = fdopen(ser->fd, "w+"))) {
+ if (ast_pthread_create(&launched, NULL, ast_httpd_helper_thread, ser)) {
+ ast_log(LOG_WARNING, "Unable to launch helper thread: %s\n", strerror(errno));
+ fclose(ser->f);
free(ser);
}
} else {
- ast_log(LOG_WARNING, "Out of memory!\n");
- close(fd);
+ ast_log(LOG_WARNING, "fdopen failed!\n");
+ close(ser->fd);
+ free(ser);
}
}
return NULL;