When name is "", we would deref name[-1]. If by chance name[-1] was
'.', we also tried to copy all of memory from one place to another.
Rather than just guard the immediate next branch, let's assume the
empty name is never found.
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andreas Schneider <asn@samba.org>
}
name_len = strlen(name);
+ if (name_len == 0) {
+ return EAI_NONAME;
+ }
+
if (name_len < sizeof(canon_name) && name[name_len - 1] == '.') {
memcpy(canon_name, name, name_len - 1);
canon_name[name_len] = '\0';