Static analyzer fixes
[silc.git] / lib / silcutil / silcfileutil.c
index e824a2f12b886d51bc39c43dc573179b6a14d8b0..307ca8b7bd1558ff8a14f8e7e89142e6a6e1768f 100644 (file)
@@ -157,7 +157,7 @@ char *silc_file_readfile(const char *filename, SilcUInt32 *return_len)
   buffer = silc_calloc(filelen + 1, sizeof(char));
 
   if ((silc_file_read(fd, buffer, filelen)) == -1) {
-    memset(buffer, 0, sizeof(buffer));
+    memset(buffer, 0, filelen + 1);
     silc_file_close(fd);
     SILC_LOG_ERROR(("Cannot read from file %s: %s", filename,
                     strerror(errno)));
@@ -180,11 +180,15 @@ SilcUInt64 silc_file_size(const char *filename)
   int ret;
   struct stat stats;
 
-#ifndef SILC_WIN32
+#ifdef SILC_WIN32
+  ret = stat(filename, &stats);
+#endif /* SILC_WIN32 */
+#ifdef SILC_UNIX
   ret = lstat(filename, &stats);
-#else
+#endif /* SILC_UNIX */
+#ifdef SILC_SYMBIAN
   ret = stat(filename, &stats);
-#endif
+#endif /* SILC_SYMBIAN */
   if (ret < 0)
     return 0;