Change safe_strcpy_base to strlcpy_base. Note the size doesn't change here as the...
authorJeremy Allison <jra@samba.org>
Tue, 3 May 2011 20:14:46 +0000 (13:14 -0700)
committerJeremy Allison <jra@samba.org>
Wed, 4 May 2011 19:12:14 +0000 (12:12 -0700)
lib/util/string_wrappers.h
source3/client/client.c
source3/libsmb/cliprint.c
source3/nmbd/nmbd_packets.c

index 4e4f3ec8326acef8570c8969f396bb414c06b6bf..79119348c59e61bbbe21b884c618a96389f2bc64 100644 (file)
@@ -41,8 +41,8 @@ size_t __unsafe_string_function_usage_here_size_t__(void);
 
 #endif /* HAVE_COMPILER_WILL_OPTIMIZE_OUT_FNS */
 
-#define safe_strcpy_base(dest, src, base, size) \
-    safe_strcpy(dest, src, size-PTR_DIFF(dest,base)-1)
+#define strlcpy_base(dest, src, base, size) \
+    strlcpy(dest, src, size-PTR_DIFF(dest,base))
 
 /* String copy functions - macro hell below adds 'type checking' (limited,
    but the best we can do in C) */
index c734a24a6cb6d2c90a82127cb8d9f11e323fe800..75d57165cf8933865182c0402279eaa713b5947a 100644 (file)
@@ -702,7 +702,7 @@ static void add_to_do_list_queue(const char *entry)
                }
        }
        if (do_list_queue) {
-               safe_strcpy_base(do_list_queue + do_list_queue_end,
+               strlcpy_base(do_list_queue + do_list_queue_end,
                                 entry, do_list_queue, do_list_queue_size);
                do_list_queue_end = new_end;
                DEBUG(4,("added %s to do_list_queue (start=%d, end=%d)\n",
index 10d1759de82a9ad7757a810c92d31ab0c3b8b8ea..30eedce208d2fca65e9a69fc83978c619cc2865f 100644 (file)
@@ -65,16 +65,16 @@ int cli_print_queue(struct cli_state *cli,
        p = param;
        SSVAL(p,0,76);         /* API function number 76 (DosPrintJobEnum) */
        p += 2;
-       safe_strcpy_base(p,"zWrLeh", param, sizeof(param));   /* parameter description? */
+       strlcpy_base(p,"zWrLeh", param, sizeof(param));   /* parameter description? */
        p = skip_string(param,sizeof(param),p);
-       safe_strcpy_base(p,"WWzWWDDzz", param, sizeof(param));  /* returned data format */
+       strlcpy_base(p,"WWzWWDDzz", param, sizeof(param));  /* returned data format */
        p = skip_string(param,sizeof(param),p);
-       safe_strcpy_base(p,cli->share, param, sizeof(param));    /* name of queue */
+       strlcpy_base(p,cli->share, param, sizeof(param));    /* name of queue */
        p = skip_string(param,sizeof(param),p);
        SSVAL(p,0,2);   /* API function level 2, PRJINFO_2 data structure */
        SSVAL(p,2,1000); /* size of bytes of returned data buffer */
        p += 4;
-       safe_strcpy_base(p,"", param,sizeof(param));   /* subformat */
+       strlcpy_base(p,"", param,sizeof(param));   /* subformat */
        p = skip_string(param,sizeof(param),p);
 
        DEBUG(4,("doing cli_print_queue for %s\n", cli->share));
@@ -136,9 +136,9 @@ int cli_printjob_del(struct cli_state *cli, int job)
        p = param;
        SSVAL(p,0,81);          /* DosPrintJobDel() */
        p += 2;
-       safe_strcpy_base(p,"W", param,sizeof(param));
+       strlcpy_base(p,"W", param,sizeof(param));
        p = skip_string(param,sizeof(param),p);
-       safe_strcpy_base(p,"", param,sizeof(param));
+       strlcpy_base(p,"", param,sizeof(param));
        p = skip_string(param,sizeof(param),p);
        SSVAL(p,0,job);
        p += 2;
index 36dacfb6f31f8c1b53693d37aceea1325035fc73..2817ea80be9e482baec8cd7b3cba68df86a4a4c7 100644 (file)
@@ -2087,7 +2087,7 @@ bool send_mailslot(bool unique, const char *mailslot,char *buf, size_t len,
        SSVAL(ptr,smb_vwv15,1);
        SSVAL(ptr,smb_vwv16,2);
        p2 = smb_buf(ptr);
-       safe_strcpy_base(p2, mailslot, dgram->data, sizeof(dgram->data));
+       strlcpy_base(p2, mailslot, dgram->data, sizeof(dgram->data));
        p2 = skip_string(ptr,MAX_DGRAM_SIZE,p2);
 
        if (((p2+len) > dgram->data+sizeof(dgram->data)) || ((p2+len) < p2)) {