[Samba] unsafe_string_function_usage_here when linking smbd
bengt.nilsson at mc2.chalmers.se
Sun Jun 8 20:47:36 GMT 2008
I was wrong about building completed.
After removing smbd and re-make I got
make: *** [bin/smbd] Error 1
7 jun 2008 kl. 13.28 skrev Bengt Nilsson:
> I just commented out
> #define srvstr_push_fn2(fn_name, fn_line, base_ptr, dest, src,
> dest_len, flags) \
> (CHECK_STRING_SIZE(dest, dest_len) \
> ? __unsafe_string_function_usage_here_size_t__6() \
> : srvstr_push_fn(fn_name, fn_line, base_ptr, dest, src, dest_len,
> and got further but then
> libaddns/(dns.h, dnserr.h and dnssock.c) had no definition of unit32.
> Just to test, I changed to int.
> Now all built using CC=cc, but there were many Warnings of
> unresolved functions.
> The inexperienced programmer asks: Why warnings, should it not be
> 7 jun 2008 kl. 13.16 skrev Bengt Nilsson:
>> Please know that I am NOT an experienced programmer,
>> In safe_string.h, there are 6 usages of
>> (I am not sure where trans2.c is coming into this.)
>> Anyway, to find out which one that fails, I created the single
>> prototype with
>> size_t __unsafe_string_function_usage_here_size_t__1(void);
>> size_t __unsafe_string_function_usage_here_size_t__2(void);
>> size_t __unsafe_string_function_usage_here_size_t__3(void);
>> size_t __unsafe_string_function_usage_here_size_t__4(void);
>> size_t __unsafe_string_function_usage_here_size_t__5(void);
>> size_t __unsafe_string_function_usage_here_size_t__6(void);
>> and renamed the corresponding #defines
>> #define push_pstring_base(dest, src, pstring_base) \
>> (CHECK_STRING_SIZE(pstring_base, sizeof(pstring)) \
>> ? __unsafe_string_function_usage_here_size_t__1() \
>> : push_ascii(dest, src, sizeof(pstring)-
>> PTR_DIFF(dest,pstring_base)-1, STR_TERMINATE))
>> #define srvstr_push_fn2(fn_name, fn_line, base_ptr, dest, src,
>> dest_len, flags) \
>> (CHECK_STRING_SIZE(dest, dest_len) \
>> ? __unsafe_string_function_usage_here_size_t__6() \
>> : srvstr_push_fn(fn_name, fn_line, base_ptr, dest, src, dest_len,
>> And now the unresolved function was
>> Linking bin/smbd
>> make: *** [bin/smbd] Error 1
>> Is this of any help or is it just bull*?
>> For myself, I do not know what to do with this information, even if
>> would be useful.
>> 6 jun 2008 kl. 19.31 skrev Kai Lanz:
>>> On Jun 6, 2008, at 10:10 AM, Herb Lewis wrote:
>>>> try doing an nm on the suspected .o file and see if the reference
>>>> to the function is there. That will prove which file(s) is comes
>>>> from than maybe you can determine which function it comes from.
>>> Thanks, but I've already done that; I used "nm" to confirm that the
>>> call to an undefined external function called
>>> "unsafe_string_function_usage_here_size_t" was present in
>>> trans2.o and in no other object file under source/smbd. The
>>> trouble is there are 27 calls in trans2.c that have been
>>> wrapped by safe_string.h and I haven't thought of a way to
>>> determine which one is getting replaced by the "unsafe_"
>>> Kai Lanz
>>> To unsubscribe from this list go to the following URL and read the
>>> instructions: https://lists.samba.org/mailman/listinfo/samba
>> To unsubscribe from this list go to the following URL and read the
>> instructions: https://lists.samba.org/mailman/listinfo/samba
More information about the samba