diff --git a/common/plugin_common.c b/common/plugin_common.c
index 9ac7dba2a3b22e8af618551d6e5c104f8e1c1268..aa0b94c172820e31a402885a90236c4b3c662b73 100644
--- a/common/plugin_common.c
+++ b/common/plugin_common.c
@@ -256,13 +256,15 @@ int _plug_buf_alloc(const sasl_utils_t *utils, char **rwbuf,
 int _plug_strdup(const sasl_utils_t * utils, const char *in,
 		 char **out, int *outlen)
 {
-  size_t len = strlen(in);
+  size_t len = 0;
 
   if(!utils || !in || !out) {
       if(utils) PARAMERROR(utils);
       return SASL_BADPARAM;
   }
 
+  len = strlen(in);
+
   *out = utils->malloc(len + 1);
   if (!*out) {
       MEMERROR(utils);