I added them, so I get to kill them :-). Finally remove all uses of safe_strcpy and...
authorJeremy Allison <jra@samba.org>
Tue, 3 May 2011 23:43:27 +0000 (16:43 -0700)
committerJeremy Allison <jra@samba.org>
Wed, 4 May 2011 20:14:14 +0000 (22:14 +0200)
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Wed May  4 22:14:14 CEST 2011 on sn-devel-104

lib/util/string_wrappers.h
lib/util/util.h
lib/util/util_str.c
source3/include/proto.h

index 80d0b9932aa87f95775a49607fc322715d0ceffe..7baf3cb21b3557477127aaebe33f24cab0110bc9 100644 (file)
@@ -52,26 +52,12 @@ size_t __unsafe_string_function_usage_here_size_t__(void);
 #define nstrcpy(d,s) strlcpy((d), (s) ? (s) : "",sizeof(nstring))
 #define unstrcpy(d,s) strlcpy((d), (s) ? (s) : "",sizeof(unstring))
 
-/* the addition of the DEVELOPER checks in safe_strcpy means we must
- * update a lot of code. To make this a little easier here are some
- * functions that provide the lengths with less pain */
-
 #ifdef HAVE_COMPILER_WILL_OPTIMIZE_OUT_FNS
 
 /* if the compiler will optimize out function calls, then use this to tell if we are
    have the correct types (this works only where sizeof() returns the size of the buffer, not
    the size of the pointer). */
 
-#define safe_strcpy(d, s, max_len) \
-    (CHECK_STRING_SIZE(d, max_len+1) \
-    ? __unsafe_string_function_usage_here__() \
-    : safe_strcpy_fn((d), (s), (max_len)))
-
-#define safe_strcat(d, s, max_len) \
-    (CHECK_STRING_SIZE(d, max_len+1) \
-    ? __unsafe_string_function_usage_here__() \
-    : safe_strcat_fn((d), (s), (max_len)))
-
 #define push_string_check(dest, src, dest_len, flags) \
     (CHECK_STRING_SIZE(dest, dest_len) \
     ? __unsafe_string_function_usage_here_size_t__() \
@@ -105,8 +91,6 @@ size_t __unsafe_string_function_usage_here_size_t__(void);
 
 #else
 
-#define safe_strcpy safe_strcpy_fn
-#define safe_strcat safe_strcat_fn
 #define push_string_check push_string_check_fn
 #define clistr_push clistr_push_fn
 #define clistr_pull clistr_pull_fn
index 45f1b9cd79eca9c4779d3dbbd536a7d108fd7caf..64793022c096ed6959f21d3eb2bd9e6397dbc49d 100644 (file)
@@ -246,18 +246,6 @@ _PUBLIC_ bool trim_string(char *s, const char *front, const char *back);
 **/
 _PUBLIC_ _PURE_ size_t count_chars(const char *s, char c);
 
-/**
- Safe string copy into a known length string. maxlength does not
- include the terminating zero.
-**/
-_PUBLIC_ char *safe_strcpy_fn(char *dest,const char *src, size_t maxlength);
-
-/**
- Safe string cat into a string. maxlength does not
- include the terminating zero.
-**/
-_PUBLIC_ char *safe_strcat_fn(char *dest, const char *src, size_t maxlength);
-
 /**
  Routine to get hex characters and turn them into a 16 byte array.
  the array can be variable length, and any non-hex-numeric
index 9842f116530920c549e23547827a09289e0eda5c..388d7887ef6d1ca41747bc74d68f838272fce939 100644 (file)
  * @brief String utilities.
  **/
 
-/**
- Safe string copy into a known length string. maxlength does not
- include the terminating zero.
-**/
-
-_PUBLIC_ char *safe_strcpy_fn(char *dest,
-                             const char *src,
-                             size_t maxlength)
-{
-       size_t len;
-
-       if (!dest) {
-               smb_panic("ERROR: NULL dest in safe_strcpy");
-       }
-
-       if (!src) {
-               *dest = 0;
-               return dest;
-       }
-
-       len = strnlen(src, maxlength+1);
-
-       if (len > maxlength) {
-               DEBUG(0,("ERROR: string overflow by "
-                       "%lu (%lu - %lu) in safe_strcpy [%.50s]\n",
-                        (unsigned long)(len-maxlength), (unsigned long)len,
-                        (unsigned long)maxlength, src));
-               len = maxlength;
-       }
-
-       memmove(dest, src, len);
-       dest[len] = 0;
-       return dest;
-}
-
-/**
- Safe string cat into a string. maxlength does not
- include the terminating zero.
-**/
-char *safe_strcat_fn(char *dest,
-                    const char *src,
-                    size_t maxlength)
-{
-       size_t src_len, dest_len;
-
-       if (!dest) {
-               smb_panic("ERROR: NULL dest in safe_strcat");
-       }
-
-       if (!src)
-               return dest;
-
-       src_len = strnlen(src, maxlength + 1);
-       dest_len = strnlen(dest, maxlength + 1);
-
-       if (src_len + dest_len > maxlength) {
-               DEBUG(0,("ERROR: string overflow by %d "
-                       "in safe_strcat [%.50s]\n",
-                        (int)(src_len + dest_len - maxlength), src));
-               if (maxlength > dest_len) {
-                       memcpy(&dest[dest_len], src, maxlength - dest_len);
-               }
-               dest[maxlength] = 0;
-               return NULL;
-       }
-
-       memcpy(&dest[dest_len], src, src_len);
-       dest[dest_len + src_len] = 0;
-       return dest;
-}
-
 /**
   format a string into length-prefixed dotted domain format, as used in NBT
   and in some ADS structures
index dfe44a141e60605a88083f07f2d6da5a5787bdef..2dd30d988b079a10155bc07ffa0c1178ab92ef76 100644 (file)
@@ -937,12 +937,6 @@ size_t str_charnum(const char *s);
 bool trim_char(char *s,char cfront,char cback);
 bool strhasupper(const char *s);
 bool strhaslower(const char *s);
-char *safe_strcpy_fn(char *dest,
-               const char *src,
-               size_t maxlength);
-char *safe_strcat_fn(char *dest,
-               const char *src,
-               size_t maxlength);
 char *StrnCpy(char *dest,const char *src,size_t n);
 bool in_list(const char *s, const char *list, bool casesensitive);
 void string_free(char **s);