#include <dispatch/dispatch.h>
-#include <assumes.h>
+#include <os/assumes.h>
#include "job_reply.h"
#include "launchd.h"
#define LAUNCHD_SHUTDOWN_LOG "launchd-shutdown.%s.log"
#define LAUNCHD_LOWLEVEL_LOG "launchd-lowlevel.%s.log"
+os_redirect_assumes(_launchd_os_redirect);
+
char *launchd_username = "unknown";
char *launchd_label = "com.apple.launchd.unknown";
mach_port_t launchd_drain_reply_port;
}
bool
-_launchd_osx_redirect(const char *message)
+_launchd_os_redirect(const char *message)
{
launchd_syslog(LOG_ERR, "%s", message);
return true;
if (unlikely(errno = job_mig_log_drain_reply(tmp_port, 0, outval, outvalCnt))) {
if (errno != MACH_SEND_INVALID_DEST) {
- (void)osx_assumes_zero(errno);
+ (void)os_assumes_zero(errno);
}
- (void)osx_assumes_zero(launchd_mport_deallocate(tmp_port));
+ (void)os_assumes_zero(launchd_mport_deallocate(tmp_port));
}
mig_deallocate(outval, outvalCnt);
break;
}
+ if (lm_walk->obj_sz < sizeof(struct logmsg_s)) {
+ launchd_syslog(LOG_WARNING, "Received bytes %llu are less than expected bytes %lu.", lm_walk->obj_sz, sizeof(struct logmsg_s));
+ break;
+ }
+
if (!(lm = malloc(lm_walk->obj_sz))) {
launchd_syslog(LOG_WARNING, "Failed to allocate %llu bytes for log message with %u bytes left in forwarded data. Ignoring remaining messages.", lm_walk->obj_sz, data_left);
break;
kern_return_t
launchd_log_drain(mach_port_t srp, vm_offset_t *outval, mach_msg_type_number_t *outvalCnt)
{
- (void)osx_assumes_zero(launchd_drain_reply_port);
+ (void)os_assumes_zero(launchd_drain_reply_port);
if ((_launchd_logq_cnt == 0) || launchd_shutting_down) {
launchd_drain_reply_port = srp;
- (void)osx_assumes_zero(launchd_mport_notify_req(launchd_drain_reply_port, MACH_NOTIFY_DEAD_NAME));
+ (void)os_assumes_zero(launchd_mport_notify_req(launchd_drain_reply_port, MACH_NOTIFY_DEAD_NAME));
return MIG_NO_REPLY;
}