projects
/
runtime.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2fbb85c
)
silc_parse_userfqdn zero output buffers.
author
Pekka Riikonen
<priikone@silcnet.org>
Tue, 7 Nov 2006 16:46:14 +0000
(16:46 +0000)
committer
Pekka Riikonen
<priikone@silcnet.org>
Tue, 7 Nov 2006 16:46:14 +0000
(16:46 +0000)
lib/silcutil/silcutil.c
patch
|
blob
|
history
diff --git
a/lib/silcutil/silcutil.c
b/lib/silcutil/silcutil.c
index aaa46cd19c665be7d4e7289dc7e3c7c8ab2a68aa..40892e8ae552130c01794a8e49673014dbf4ca08 100644
(file)
--- a/
lib/silcutil/silcutil.c
+++ b/
lib/silcutil/silcutil.c
@@
-116,14
+116,18
@@
int silc_parse_userfqdn(const char *string,
{
SilcUInt32 tlen;
{
SilcUInt32 tlen;
- if (!string || (!user && !fqdn))
+ if (!user && !fqdn)
+ return 0;
+
+ memset(user, 0, user_size);
+ memset(fqdn, 0, fqdn_size);
+
+ if (!string)
return 0;
if (string[0] == '@') {
return 0;
if (string[0] == '@') {
- if (user) {
- memset(user, 0, user_size);
+ if (user)
silc_strncat(user, user_size, string, strlen(string));
silc_strncat(user, user_size, string, strlen(string));
- }
return 1;
}
return 1;
}
@@
-131,24
+135,18
@@
int silc_parse_userfqdn(const char *string,
if (strchr(string, '@')) {
tlen = strcspn(string, "@");
if (strchr(string, '@')) {
tlen = strcspn(string, "@");
- if (user) {
- memset(user, 0, user_size);
+ if (user)
silc_strncat(user, user_size, string, tlen);
silc_strncat(user, user_size, string, tlen);
- }
- if (fqdn) {
- memset(fqdn, 0, fqdn_size);
+ if (fqdn)
silc_strncat(fqdn, fqdn_size, string + tlen + 1,
strlen(string) - tlen - 1);
silc_strncat(fqdn, fqdn_size, string + tlen + 1,
strlen(string) - tlen - 1);
- }
return 2;
}
return 2;
}
- if (user) {
- memset(user, 0, user_size);
+ if (user)
silc_strncat(user, user_size, string, strlen(string));
silc_strncat(user, user_size, string, strlen(string));
- }
return 1;
}
return 1;
}