]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - error.h
Fix a use-after-free bug in para_server.
[paraslash.git] / error.h
diff --git a/error.h b/error.h
index d82fe68efed6a99aef8700b9e634ec16871c72d2..51ee2098210479ceea640a1e044d61d2bfc274a0 100644 (file)
--- a/error.h
+++ b/error.h
@@ -43,7 +43,7 @@ enum para_subsystem {
        SS_CRYPT,
        SS_HTTP_SEND,
        SS_ORTP_SEND,
-       SS_AFS,
+       SS_AFS_COMMON,
        SS_OGG_AFH,
        SS_MP3_AFH,
        SS_AAC_AFH,
@@ -63,6 +63,7 @@ enum para_subsystem {
        SS_FILE_WRITE,
        SS_OSX_WRITE,
        SS_USER_LIST,
+       SS_CHUNK_QUEUE,
        NUM_SS
 };
 
@@ -77,8 +78,7 @@ enum para_subsystem {
 #define ORTP_SEND_ERRORS
 #define GUI_ERRORS
 #define RINGBUFFER_ERRORS
-
-
+#define RECV_ERRORS
 
 extern const char **para_errlist[];
 /** \endcond */
@@ -164,11 +164,8 @@ extern const char **para_errlist[];
        PARA_ERROR(HTTP_RECV_OVERRUN, "http_recv: outout buffer overrun"), \
 
 
-#define RECV_ERRORS \
-       PARA_ERROR(RECV_SYNTAX, "recv syntax error"), \
-
-
 #define RECV_COMMON_ERRORS \
+       PARA_ERROR(RECV_SYNTAX, "recv syntax error"), \
 
 
 #define AUDIOD_ERRORS \
@@ -275,9 +272,10 @@ extern const char **para_errlist[];
 
 #define VSS_ERRORS \
        PARA_ERROR(AUDIO_FORMAT, "audio format not recognized"), \
+       PARA_ERROR(CHUNK, "unable to get chunk"), \
 
 
-#define AFS_ERRORS \
+#define AFS_COMMON_ERRORS \
        PARA_ERROR(GETCWD, "can not get current working directory"), \
        PARA_ERROR(CHDIR, "can not change directory"), \
        PARA_ERROR(OPENDIR, "can not open directory"), \
@@ -294,8 +292,8 @@ extern const char **para_errlist[];
 
 
 #define HTTP_SEND_ERRORS \
-       PARA_ERROR(QUEUE, "packet queue overrun"), \
        PARA_ERROR(WRITE_OK, "can not check whether fd is writable"), \
+       PARA_ERROR(SEND_QUEUED_CHUNK, "failed to send queued chunk"), \
 
 
 #define RANDOM_SELECTOR_ERRORS \
@@ -372,6 +370,7 @@ extern const char **para_errlist[];
        PARA_ERROR(F_GETFL, "failed to get fd flags"), \
        PARA_ERROR(F_SETFL, "failed to set fd flags"), \
        PARA_ERROR(FGETS, "fgets error"), \
+       PARA_ERROR(SELECT, "select error"), \
 
 
 #define WRITE_ERRORS \
@@ -420,6 +419,10 @@ extern const char **para_errlist[];
        PARA_ERROR(AAC_OVERRUN, "aac output buffer overrun"), \
 
 
+#define CHUNK_QUEUE_ERRORS \
+       PARA_ERROR(QUEUE, "packet queue overrun"), \
+
+
 /**
  * the subsystem shift
  *
@@ -531,7 +534,7 @@ SS_ENUM(PLAYLIST_SELECTOR);
 SS_ENUM(CRYPT);
 SS_ENUM(HTTP_SEND);
 SS_ENUM(ORTP_SEND);
-SS_ENUM(AFS);
+SS_ENUM(AFS_COMMON);
 SS_ENUM(MYSQL_SELECTOR);
 SS_ENUM(IPC);
 SS_ENUM(DCCP);
@@ -548,6 +551,7 @@ SS_ENUM(CLIENT);
 SS_ENUM(CLIENT_COMMON);
 SS_ENUM(AUDIOC);
 SS_ENUM(USER_LIST);
+SS_ENUM(CHUNK_QUEUE);
 /** \endcond */
 #undef PARA_ERROR
 /* rest of the world only sees the error text */