diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/krb5/os/localaddr.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/lib/krb5/os/localaddr.c b/src/lib/krb5/os/localaddr.c index fcd7be862..68bc749f9 100644 --- a/src/lib/krb5/os/localaddr.c +++ b/src/lib/krb5/os/localaddr.c @@ -162,8 +162,17 @@ krb5_error_code krb5_os_localaddr(addr) /* XXX should we perhaps use ns_host instead? */ address->length = sizeof(struct ns_addr); - memcpy ((char *)address->contents, (char *)&ns->sns_addr, - address->length); + address->contents = (unsigned char *)malloc(address->length); + if (!address->contents) { + free((char *)address); + address = 0; + mem_err++; + } else { + memcpy ((char *)address->contents, + (char *)&ns->sns_addr, + address->length); + break; + } } else mem_err++; break; } |
