The Samba-Bugzilla – Attachment 44 Details for
Bug 202
smbclient dies with a bus error on Sparc
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Ensure argument to convert_string() is aligned.
pull_ucs2.patch (text/plain), 1.20 KB, created by
Tim Potter
on 2003-07-07 17:03:05 UTC
(
hide
)
Description:
Ensure argument to convert_string() is aligned.
Filename:
MIME Type:
Creator:
Tim Potter
Created:
2003-07-07 17:03:05 UTC
Size:
1.20 KB
patch
obsolete
>*** charcnv.c.~1.55.2.28.~ Fri Jul 4 12:53:07 2003 >--- charcnv.c Tue Jul 8 09:57:18 2003 >*************** >*** 627,632 **** >--- 627,633 ---- > size_t pull_ucs2(const void *base_ptr, char *dest, const void *src, size_t dest_len, size_t src_len, int flags) > { > size_t ret; >+ BOOL src_not_aligned = False; > > if (dest_len == (size_t)-1) > dest_len = sizeof(pstring); >*************** >*** 635,640 **** >--- 636,643 ---- > src = (const void *)((const char *)src + 1); > if (src_len > 0) > src_len--; >+ } else if (flags & STR_NOALIGN) { >+ src_not_aligned = True; > } > > if (flags & STR_TERMINATE) { >*************** >*** 652,658 **** > if (src_len != (size_t)-1) > src_len &= ~1; > >! ret = convert_string(CH_UCS2, CH_UNIX, src, src_len, dest, dest_len); > if (dest_len) > dest[MIN(ret, dest_len-1)] = 0; > else >--- 655,668 ---- > if (src_len != (size_t)-1) > src_len &= ~1; > >! if (src_not_aligned) { >! char *aligned_src = memdup(src, src_len); >! >! ret = convert_string(CH_UCS2, CH_UNIX, src, src_len, dest, dest_len); >! free(aligned_src); >! } else >! ret = convert_string(CH_UCS2, CH_UNIX, src, src_len, dest, dest_len); >! > if (dest_len) > dest[MIN(ret, dest_len-1)] = 0; > else
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 202
:
42
| 44