summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/gui-common.c20
-rw-r--r--weechat/src/gui/gui-common.c20
2 files changed, 22 insertions, 18 deletions
diff --git a/src/gui/gui-common.c b/src/gui/gui-common.c
index 2cb5a6fb2..0d28ae824 100644
--- a/src/gui/gui-common.c
+++ b/src/gui/gui-common.c
@@ -1087,16 +1087,18 @@ gui_input_clipboard_paste ()
void
gui_input_clipboard_copy (char *buffer, int size)
{
-
- if (gui_input_clipboard != NULL)
- free(gui_input_clipboard);
-
- gui_input_clipboard = (char *) malloc( (size + 1) * sizeof(*gui_input_clipboard));
-
- if (gui_input_clipboard)
+ if (size <= 0)
+ return;
+
+ if (gui_input_clipboard != NULL)
+ free(gui_input_clipboard);
+
+ gui_input_clipboard = (char *) malloc( (size + 1) * sizeof(*gui_input_clipboard));
+
+ if (gui_input_clipboard)
{
- memcpy(gui_input_clipboard, buffer, size);
- gui_input_clipboard[size] = '\0';
+ memcpy(gui_input_clipboard, buffer, size);
+ gui_input_clipboard[size] = '\0';
}
}
diff --git a/weechat/src/gui/gui-common.c b/weechat/src/gui/gui-common.c
index 2cb5a6fb2..0d28ae824 100644
--- a/weechat/src/gui/gui-common.c
+++ b/weechat/src/gui/gui-common.c
@@ -1087,16 +1087,18 @@ gui_input_clipboard_paste ()
void
gui_input_clipboard_copy (char *buffer, int size)
{
-
- if (gui_input_clipboard != NULL)
- free(gui_input_clipboard);
-
- gui_input_clipboard = (char *) malloc( (size + 1) * sizeof(*gui_input_clipboard));
-
- if (gui_input_clipboard)
+ if (size <= 0)
+ return;
+
+ if (gui_input_clipboard != NULL)
+ free(gui_input_clipboard);
+
+ gui_input_clipboard = (char *) malloc( (size + 1) * sizeof(*gui_input_clipboard));
+
+ if (gui_input_clipboard)
{
- memcpy(gui_input_clipboard, buffer, size);
- gui_input_clipboard[size] = '\0';
+ memcpy(gui_input_clipboard, buffer, size);
+ gui_input_clipboard[size] = '\0';
}
}