aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/core.c')
-rw-r--r--drivers/base/core.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 7b270a2e6ed5..14d162952c3b 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -2010,6 +2010,8 @@ create_syslog_header(const struct device *dev, char *hdr, size_t hdrlen)
2010 return 0; 2010 return 0;
2011 2011
2012 pos += snprintf(hdr + pos, hdrlen - pos, "SUBSYSTEM=%s", subsys); 2012 pos += snprintf(hdr + pos, hdrlen - pos, "SUBSYSTEM=%s", subsys);
2013 if (pos >= hdrlen)
2014 goto overflow;
2013 2015
2014 /* 2016 /*
2015 * Add device identifier DEVICE=: 2017 * Add device identifier DEVICE=:
@@ -2041,7 +2043,14 @@ create_syslog_header(const struct device *dev, char *hdr, size_t hdrlen)
2041 "DEVICE=+%s:%s", subsys, dev_name(dev)); 2043 "DEVICE=+%s:%s", subsys, dev_name(dev));
2042 } 2044 }
2043 2045
2046 if (pos >= hdrlen)
2047 goto overflow;
2048
2044 return pos; 2049 return pos;
2050
2051overflow:
2052 dev_WARN(dev, "device/subsystem name too long");
2053 return 0;
2045} 2054}
2046 2055
2047int dev_vprintk_emit(int level, const struct device *dev, 2056int dev_vprintk_emit(int level, const struct device *dev,