Browse code

don't return CL_EMAX* error codes to applications (bb#1001)

git-svn: trunk@3815

Tomasz Kojm authored on 2008/04/29 00:15:49
Showing 3 changed files
... ...
@@ -1,3 +1,8 @@
1
+Mon Apr 28 16:13:33 CEST 2008 (tk)
2
+----------------------------------
3
+  * libclamav/scanners.c: don't return CL_EMAX* error codes to
4
+			  applications (bb#1001)
5
+
1 6
 Mon Apr 28 13:48:36 CEST 2008 (tk)
2 7
 ----------------------------------
3 8
   * clamscan/manager.c: print information about clean files when the RAR
... ...
@@ -37,9 +37,9 @@ extern "C"
37 37
 #define CL_SUCCESS	CL_CLEAN
38 38
 #define CL_BREAK	2
39 39
 
40
-#define CL_EMAXREC	-100 /* recursion limit exceeded */
41
-#define CL_EMAXSIZE	-101 /* size limit exceeded */
42
-#define CL_EMAXFILES	-102 /* files limit exceeded */
40
+#define CL_EMAXREC	-100 /* (internal) recursion limit exceeded */
41
+#define CL_EMAXSIZE	-101 /* (internal) size limit exceeded */
42
+#define CL_EMAXFILES	-102 /* (internal) files limit exceeded */
43 43
 #define CL_ERAR		-103 /* rar handler error */
44 44
 #define CL_EZIP		-104 /* zip handler error */
45 45
 #define CL_EGZIP	-105 /* gzip handler error */
... ...
@@ -61,7 +61,7 @@ extern "C"
61 61
 #define CL_EMD5		-121 /* MD5 verification error */
62 62
 #define CL_EDSIG	-122 /* digital signature verification error */
63 63
 #define CL_EIO		-123 /* general I/O error */
64
-#define CL_EFORMAT	-124 /* bad format or broken file */
64
+#define CL_EFORMAT	-124 /* (internal) bad format or broken file */
65 65
 #define CL_ESUPPORT	-125 /* not supported data format */
66 66
 #define CL_ELOCKDB	-126 /* can't lock DB directory */
67 67
 #define CL_EARJ         -127 /* ARJ handler error */
... ...
@@ -2040,11 +2040,15 @@ int cli_magic_scandesc(int desc, cli_ctx *ctx)
2040 2040
     }
2041 2041
     ctx->recursion--;
2042 2042
 
2043
-    if(ret == CL_EFORMAT) {
2044
-	cli_dbgmsg("Descriptor[%d]: %s\n", desc, cl_strerror(CL_EFORMAT));
2045
-	return CL_CLEAN;
2046
-    } else {
2047
-	return ret;
2043
+    switch(ret) {
2044
+	case CL_EFORMAT:
2045
+	case CL_EMAXREC:
2046
+	case CL_EMAXSIZE:
2047
+	case CL_EMAXFILES:
2048
+	    cli_dbgmsg("Descriptor[%d]: %s\n", desc, cl_strerror(ret));
2049
+	    return CL_CLEAN;
2050
+	default:
2051
+	    return ret;
2048 2052
     }
2049 2053
 }
2050 2054