coccinelle: make use of SYNTHETIC_ERRNO

Ideally, coccinelle would strip unnecessary braces too. But I do not see any
option in coccinelle for this, so instead, I edited the patch text using
search&replace to remove the braces. Unfortunately this is not fully automatic,
in particular it didn't deal well with if-else-if-else blocks and ifdefs, so
there is an increased likelikehood be some bugs in such spots.

I also removed part of the patch that coccinelle generated for udev, where we
returns -1 for failure. This should be fixed independently.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2018-11-22 10:54:38 +01:00
parent 52d86690d6
commit baaa35ad70
129 changed files with 1932 additions and 2311 deletions
+133 -164
View File
@@ -67,10 +67,9 @@ static int parse_xml_annotation(Context *context, uint64_t *flags) {
return t;
}
if (t == XML_END) {
log_error("Premature end of XML data.");
return -EBADMSG;
}
if (t == XML_END)
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG),
"Premature end of XML data.");
switch (state) {
@@ -84,10 +83,10 @@ static int parse_xml_annotation(Context *context, uint64_t *flags) {
else if (streq_ptr(name, "value"))
state = STATE_VALUE;
else {
log_error("Unexpected <annotation> attribute %s.", name);
return -EBADMSG;
}
else
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG),
"Unexpected <annotation> attribute %s.",
name);
} else if (t == XML_TAG_CLOSE_EMPTY ||
(t == XML_TAG_CLOSE && streq_ptr(name, "annotation"))) {
@@ -116,10 +115,9 @@ static int parse_xml_annotation(Context *context, uint64_t *flags) {
return 0;
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) {
log_error("Unexpected token in <annotation>. (1)");
return -EINVAL;
}
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE))
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <annotation>. (1)");
break;
@@ -129,10 +127,9 @@ static int parse_xml_annotation(Context *context, uint64_t *flags) {
free_and_replace(field, name);
state = STATE_ANNOTATION;
} else {
log_error("Unexpected token in <annotation>. (2)");
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <annotation>. (2)");
break;
@@ -142,10 +139,9 @@ static int parse_xml_annotation(Context *context, uint64_t *flags) {
free_and_replace(value, name);
state = STATE_ANNOTATION;
} else {
log_error("Unexpected token in <annotation>. (3)");
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <annotation>. (3)");
break;
@@ -187,10 +183,8 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
assert(context);
assert(prefix);
if (n_depth > NODE_DEPTH_MAX) {
log_error("<node> depth too high.");
return -EINVAL;
}
if (n_depth > NODE_DEPTH_MAX)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "<node> depth too high.");
for (;;) {
_cleanup_free_ char *name = NULL;
@@ -202,10 +196,8 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
return t;
}
if (t == XML_END) {
log_error("Premature end of XML data.");
return -EBADMSG;
}
if (t == XML_END)
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "Premature end of XML data.");
switch (state) {
@@ -214,10 +206,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
if (streq_ptr(name, "name"))
state = STATE_NODE_NAME;
else {
log_error("Unexpected <node> attribute %s.", name);
return -EBADMSG;
}
else
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG),
"Unexpected <node> attribute %s.", name);
} else if (t == XML_TAG_OPEN) {
@@ -228,10 +219,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
r = parse_xml_node(context, np, n_depth+1);
if (r < 0)
return r;
} else {
log_error("Unexpected <node> tag %s.", name);
return -EBADMSG;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG),
"Unexpected <node> tag %s.", name);
} else if (t == XML_TAG_CLOSE_EMPTY ||
(t == XML_TAG_CLOSE && streq_ptr(name, "node"))) {
@@ -244,10 +234,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
return 0;
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) {
log_error("Unexpected token in <node>. (1)");
return -EINVAL;
}
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE))
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <node>. (1)");
break;
@@ -271,10 +260,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
np = node_path;
state = STATE_NODE;
} else {
log_error("Unexpected token in <node>. (2)");
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <node>. (2)");
break;
@@ -283,10 +271,10 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
if (t == XML_ATTRIBUTE_NAME) {
if (streq_ptr(name, "name"))
state = STATE_INTERFACE_NAME;
else {
log_error("Unexpected <interface> attribute %s.", name);
return -EBADMSG;
}
else
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG),
"Unexpected <interface> attribute %s.",
name);
} else if (t == XML_TAG_OPEN) {
if (streq_ptr(name, "method"))
@@ -300,10 +288,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
r = parse_xml_annotation(context, &context->interface_flags);
if (r < 0)
return r;
} else {
log_error("Unexpected <interface> tag %s.", name);
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected <interface> tag %s.", name);
} else if (t == XML_TAG_CLOSE_EMPTY ||
(t == XML_TAG_CLOSE && streq_ptr(name, "interface"))) {
@@ -319,10 +306,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
state = STATE_NODE;
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) {
log_error("Unexpected token in <interface>. (1)");
return -EINVAL;
}
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE))
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <interface>. (1)");
break;
@@ -333,10 +319,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
free_and_replace(context->interface_name, name);
state = STATE_INTERFACE;
} else {
log_error("Unexpected token in <interface>. (2)");
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <interface>. (2)");
break;
@@ -345,10 +330,10 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
if (t == XML_ATTRIBUTE_NAME) {
if (streq_ptr(name, "name"))
state = STATE_METHOD_NAME;
else {
log_error("Unexpected <method> attribute %s", name);
return -EBADMSG;
}
else
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG),
"Unexpected <method> attribute %s",
name);
} else if (t == XML_TAG_OPEN) {
if (streq_ptr(name, "arg"))
state = STATE_METHOD_ARG;
@@ -356,10 +341,10 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
r = parse_xml_annotation(context, &context->member_flags);
if (r < 0)
return r;
} else {
log_error("Unexpected <method> tag %s.", name);
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected <method> tag %s.",
name);
} else if (t == XML_TAG_CLOSE_EMPTY ||
(t == XML_TAG_CLOSE && streq_ptr(name, "method"))) {
@@ -375,10 +360,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
state = STATE_INTERFACE;
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) {
log_error("Unexpected token in <method> (1).");
return -EINVAL;
}
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE))
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <method> (1).");
break;
@@ -389,10 +373,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
free_and_replace(context->member_name, name);
state = STATE_METHOD;
} else {
log_error("Unexpected token in <method> (2).");
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <method> (2).");
break;
@@ -405,19 +388,19 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
state = STATE_METHOD_ARG_TYPE;
else if (streq_ptr(name, "direction"))
state = STATE_METHOD_ARG_DIRECTION;
else {
log_error("Unexpected method <arg> attribute %s.", name);
return -EBADMSG;
}
else
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG),
"Unexpected method <arg> attribute %s.",
name);
} else if (t == XML_TAG_OPEN) {
if (streq_ptr(name, "annotation")) {
r = parse_xml_annotation(context, NULL);
if (r < 0)
return r;
} else {
log_error("Unexpected method <arg> tag %s.", name);
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected method <arg> tag %s.",
name);
} else if (t == XML_TAG_CLOSE_EMPTY ||
(t == XML_TAG_CLOSE && streq_ptr(name, "arg"))) {
@@ -439,10 +422,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
}
state = STATE_METHOD;
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) {
log_error("Unexpected token in method <arg>. (1)");
return -EINVAL;
}
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE))
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in method <arg>. (1)");
break;
@@ -450,10 +432,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
if (t == XML_ATTRIBUTE_VALUE)
state = STATE_METHOD_ARG;
else {
log_error("Unexpected token in method <arg>. (2)");
return -EINVAL;
}
else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in method <arg>. (2)");
break;
@@ -463,10 +444,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
free_and_replace(argument_type, name);
state = STATE_METHOD_ARG;
} else {
log_error("Unexpected token in method <arg>. (3)");
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in method <arg>. (3)");
break;
@@ -476,10 +456,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
free_and_replace(argument_direction, name);
state = STATE_METHOD_ARG;
} else {
log_error("Unexpected token in method <arg>. (4)");
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in method <arg>. (4)");
break;
@@ -488,10 +467,10 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
if (t == XML_ATTRIBUTE_NAME) {
if (streq_ptr(name, "name"))
state = STATE_SIGNAL_NAME;
else {
log_error("Unexpected <signal> attribute %s.", name);
return -EBADMSG;
}
else
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG),
"Unexpected <signal> attribute %s.",
name);
} else if (t == XML_TAG_OPEN) {
if (streq_ptr(name, "arg"))
state = STATE_SIGNAL_ARG;
@@ -499,10 +478,10 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
r = parse_xml_annotation(context, &context->member_flags);
if (r < 0)
return r;
} else {
log_error("Unexpected <signal> tag %s.", name);
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected <signal> tag %s.",
name);
} else if (t == XML_TAG_CLOSE_EMPTY ||
(t == XML_TAG_CLOSE && streq_ptr(name, "signal"))) {
@@ -518,10 +497,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
state = STATE_INTERFACE;
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) {
log_error("Unexpected token in <signal>. (1)");
return -EINVAL;
}
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE))
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <signal>. (1)");
break;
@@ -532,10 +510,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
free_and_replace(context->member_name, name);
state = STATE_SIGNAL;
} else {
log_error("Unexpected token in <signal>. (2)");
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <signal>. (2)");
break;
@@ -548,19 +525,19 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
state = STATE_SIGNAL_ARG_TYPE;
else if (streq_ptr(name, "direction"))
state = STATE_SIGNAL_ARG_DIRECTION;
else {
log_error("Unexpected signal <arg> attribute %s.", name);
return -EBADMSG;
}
else
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG),
"Unexpected signal <arg> attribute %s.",
name);
} else if (t == XML_TAG_OPEN) {
if (streq_ptr(name, "annotation")) {
r = parse_xml_annotation(context, NULL);
if (r < 0)
return r;
} else {
log_error("Unexpected signal <arg> tag %s.", name);
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected signal <arg> tag %s.",
name);
} else if (t == XML_TAG_CLOSE_EMPTY ||
(t == XML_TAG_CLOSE && streq_ptr(name, "arg"))) {
@@ -575,10 +552,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
}
state = STATE_SIGNAL;
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) {
log_error("Unexpected token in signal <arg> (1).");
return -EINVAL;
}
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE))
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in signal <arg> (1).");
break;
@@ -586,10 +562,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
if (t == XML_ATTRIBUTE_VALUE)
state = STATE_SIGNAL_ARG;
else {
log_error("Unexpected token in signal <arg> (2).");
return -EINVAL;
}
else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in signal <arg> (2).");
break;
@@ -599,10 +574,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
free_and_replace(argument_type, name);
state = STATE_SIGNAL_ARG;
} else {
log_error("Unexpected token in signal <arg> (3).");
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in signal <arg> (3).");
break;
@@ -612,10 +586,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
free_and_replace(argument_direction, name);
state = STATE_SIGNAL_ARG;
} else {
log_error("Unexpected token in signal <arg>. (4)");
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in signal <arg>. (4)");
break;
@@ -628,20 +601,20 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
state = STATE_PROPERTY_TYPE;
else if (streq_ptr(name, "access"))
state = STATE_PROPERTY_ACCESS;
else {
log_error("Unexpected <property> attribute %s.", name);
return -EBADMSG;
}
else
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG),
"Unexpected <property> attribute %s.",
name);
} else if (t == XML_TAG_OPEN) {
if (streq_ptr(name, "annotation")) {
r = parse_xml_annotation(context, &context->member_flags);
if (r < 0)
return r;
} else {
log_error("Unexpected <property> tag %s.", name);
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected <property> tag %s.",
name);
} else if (t == XML_TAG_CLOSE_EMPTY ||
(t == XML_TAG_CLOSE && streq_ptr(name, "property"))) {
@@ -658,10 +631,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
state = STATE_INTERFACE;
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) {
log_error("Unexpected token in <property>. (1)");
return -EINVAL;
}
} else if (t != XML_TEXT || !in_charset(name, WHITESPACE))
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <property>. (1)");
break;
@@ -672,10 +644,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
free_and_replace(context->member_name, name);
state = STATE_PROPERTY;
} else {
log_error("Unexpected token in <property>. (2)");
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <property>. (2)");
break;
@@ -686,10 +657,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
free_and_replace(context->member_signature, name);
state = STATE_PROPERTY;
} else {
log_error("Unexpected token in <property>. (3)");
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <property>. (3)");
break;
@@ -701,10 +671,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth
context->member_writable = true;
state = STATE_PROPERTY;
} else {
log_error("Unexpected token in <property>. (4)");
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unexpected token in <property>. (4)");
break;
}
+17 -20
View File
@@ -1257,10 +1257,9 @@ static int verb_monitor(int argc, char **argv, void *userdata) {
static int verb_capture(int argc, char **argv, void *userdata) {
int r;
if (isatty(fileno(stdout)) > 0) {
log_error("Refusing to write message data to console, please redirect output to a file.");
return -EINVAL;
}
if (isatty(fileno(stdout)) > 0)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Refusing to write message data to console, please redirect output to a file.");
bus_pcap_header(arg_snaplen, stdout);
@@ -1346,10 +1345,9 @@ static int message_append_cmdline(sd_bus_message *m, const char *signature, char
if (t == 0)
break;
if (!v) {
log_error("Too few parameters for signature.");
return -EINVAL;
}
if (!v)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Too few parameters for signature.");
signature++;
p++;
@@ -1539,12 +1537,12 @@ static int message_append_cmdline(sd_bus_message *m, const char *signature, char
}
case SD_BUS_TYPE_UNIX_FD:
log_error("UNIX file descriptor not supported as type.");
return -EINVAL;
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"UNIX file descriptor not supported as type.");
default:
log_error("Unknown signature type %c.", t);
return -EINVAL;
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unknown signature type %c.", t);
}
if (r < 0)
@@ -2291,10 +2289,9 @@ static int parse_argv(int argc, char *argv[]) {
if (r < 0)
return log_error_errno(r, "Failed to parse size '%s': %m", optarg);
if ((uint64_t) (size_t) sz != sz) {
log_error("Size out of range.");
return -E2BIG;
}
if ((uint64_t) (size_t) sz != sz)
return log_error_errno(SYNTHETIC_ERRNO(E2BIG),
"Size out of range.");
arg_snaplen = (size_t) sz;
break;
@@ -2385,10 +2382,10 @@ static int parse_argv(int argc, char *argv[]) {
fputs("short\n"
"pretty\n", stdout);
return 0;
} else {
log_error("Unknown JSON out mode: %s", optarg);
return -EINVAL;
}
} else
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Unknown JSON out mode: %s",
optarg);
break;