mirror of
https://github.com/systemd/systemd.git
synced 2025-02-04 21:47:31 +03:00
parent
75f8d86eea
commit
a6aadf4ae0
@ -193,7 +193,7 @@ size_t syslog_parse_identifier(const char **buf, char **identifier, char **pid)
|
||||
e = l;
|
||||
l--;
|
||||
|
||||
if (p[l-1] == ']') {
|
||||
if (l > 0 && p[l-1] == ']') {
|
||||
size_t k = l-1;
|
||||
|
||||
for (;;) {
|
||||
@ -218,8 +218,8 @@ size_t syslog_parse_identifier(const char **buf, char **identifier, char **pid)
|
||||
if (t)
|
||||
*identifier = t;
|
||||
|
||||
if (strchr(WHITESPACE, p[e]))
|
||||
e++;
|
||||
e += strspn(p + e, WHITESPACE);
|
||||
|
||||
*buf = p + e;
|
||||
return e;
|
||||
}
|
||||
|
@ -5,8 +5,8 @@
|
||||
#include "macro.h"
|
||||
#include "string-util.h"
|
||||
|
||||
static void test_syslog_parse_identifier(const char* str,
|
||||
const char *ident, const char*pid, int ret) {
|
||||
static void test_syslog_parse_identifier(const char *str,
|
||||
const char *ident, const char *pid, int ret) {
|
||||
const char *buf = str;
|
||||
_cleanup_free_ char *ident2 = NULL, *pid2 = NULL;
|
||||
int ret2;
|
||||
@ -21,7 +21,13 @@ static void test_syslog_parse_identifier(const char* str,
|
||||
int main(void) {
|
||||
test_syslog_parse_identifier("pidu[111]: xxx", "pidu", "111", 11);
|
||||
test_syslog_parse_identifier("pidu: xxx", "pidu", NULL, 6);
|
||||
test_syslog_parse_identifier("pidu: xxx", "pidu", NULL, 7);
|
||||
test_syslog_parse_identifier("pidu xxx", NULL, NULL, 0);
|
||||
test_syslog_parse_identifier(":", "", NULL, 1);
|
||||
test_syslog_parse_identifier(": ", "", NULL, 3);
|
||||
test_syslog_parse_identifier("pidu:", "pidu", NULL, 5);
|
||||
test_syslog_parse_identifier("pidu: ", "pidu", NULL, 6);
|
||||
test_syslog_parse_identifier("pidu : ", NULL, NULL, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user