rrd_daemon handle_request_fetch needs to convert to absolute path -- Thorsten von...
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Fri, 11 Jun 2010 15:09:28 +0000 (15:09 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Fri, 11 Jun 2010 15:09:28 +0000 (15:09 +0000)
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@2090 a5681a0c-68f1-0310-ab6d-d61299d08faa

src/rrd_daemon.c

index 4c7b6bd..4c3d7ed 100644 (file)
@@ -1476,7 +1476,7 @@ static int handle_request_update (HANDLER_PROTO) /* {{{ */
 
 static int handle_request_fetch (HANDLER_PROTO) /* {{{ */
 {
 
 static int handle_request_fetch (HANDLER_PROTO) /* {{{ */
 {
-  char *file;
+  char *file, file_tmp[PATH_MAX];
   char *cf;
 
   char *start_str;
   char *cf;
 
   char *start_str;
@@ -1530,6 +1530,9 @@ static int handle_request_fetch (HANDLER_PROTO) /* {{{ */
   if (status != 0)
     return (syntax_error(sock,cmd));
 
   if (status != 0)
     return (syntax_error(sock,cmd));
 
+  get_abs_path(&file, file_tmp);
+  if (!check_file_access(file, sock)) return 0;
+
   status = flush_file (file);
   if ((status != 0) && (status != ENOENT))
     return (send_response (sock, RESP_ERR,
   status = flush_file (file);
   if ((status != 0) && (status != ENOENT))
     return (send_response (sock, RESP_ERR,