On Fri, 13 Dec 2019 13:40:38 +0100, Paul Chaignon wrote:
quoted
quoted
@@ -176,7 +177,20 @@ prog_parse_fds(int *argc, char ***argv, int *fds)
}
NEXT_ARGP();
- return prog_fd_by_tag(tag, fds);
+ return prog_fd_by_nametag(tag, fds, true);
+ } else if (is_prefix(**argv, "name")) {
+ char *name;
+
+ NEXT_ARGP();
+
+ name = **argv;
+ if (strlen(name) > BPF_OBJ_NAME_LEN - 1) {
Is this needed? strncmp will simply never match, is it preferred to
hard error?
I tried to follow the fail-early pattern of lookups by tag above.
Right although tag does a scanf and if we didn't scan all letters
we'd use uninit memory.
I do like that there's a different error message for a longer than
expected name. Since libbpf silently truncates names, typing a
longer name is not uncommon.
Ugh, I didn't realize libbpf truncates names. Okay, let's keep the
error for now so we can switch to truncation if users complain.