fix off by 1 error
[rrdtool.git] / src / rrd_client.c
index e3790f6..f271f3d 100644 (file)
@@ -492,7 +492,7 @@ int rrdc_is_connected(const char *daemon_addr) /* {{{ */
      * but it is not specified in the current command.
      * Daemon is only implied in this case if set in ENV
      */
-    if (addr != NULL && ! strcmp(addr,""))
+    if (addr != NULL && strcmp(addr,"") != 0)
       return 1;
     else
       return 0;
@@ -653,12 +653,14 @@ int rrdc_connect (const char *addr) /* {{{ */
 {
   int status = 0;
 
-  if (addr == NULL)
+  if (addr == NULL) {
     addr = getenv (ENV_RRDCACHED_ADDRESS);
+  }
 
-  if (addr == NULL || ! strcmp(addr,""))
+  if (addr == NULL || strcmp(addr,"") == 0) {
     addr = NULL;
     return 0;
+  }
 
   pthread_mutex_lock(&lock);
 
@@ -911,8 +913,7 @@ rrd_info_t * rrdc_info (const char *filename) /* {{{ */
         break;
     case RD_I_STR:
         chomp(s);
-        info.u_str = (char*)malloc(sizeof(char) * (strlen(s) + 1));
-        strcpy(info.u_str,s);
+        info.u_str = strdup(s);
         break;
     case RD_I_BLO:
         rrd_set_error ("rrdc_info: BLOB objects are not supported");
@@ -1493,7 +1494,11 @@ int rrdc_stats_get (rrdc_stats_t **ret_stats) /* {{{ */
   response_free (res);
 
   if (head == NULL)
+#ifdef EPROTO
     return (EPROTO);
+#else
+    return (EINVAL);
+#endif
 
   *ret_stats = head;
   return (0);