Printstrftime on rrd_cgi.c returns an illegal value. It causes segmentation fault...
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Wed, 14 Feb 2007 06:31:52 +0000 (06:31 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Wed, 14 Feb 2007 06:31:52 +0000 (06:31 +0000)
git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.2/program@1001 a5681a0c-68f1-0310-ab6d-d61299d08faa

src/rrd_cgi.c

index ad77b67..3ffca6b 100644 (file)
@@ -574,7 +574,7 @@ char* printstrftime(long argc, const char **args){
        /* Make sure that we were given the right number of args */
        if( argc != 4) {
                rrd_set_error( "wrong number of args %d", argc);
        /* Make sure that we were given the right number of args */
        if( argc != 4) {
                rrd_set_error( "wrong number of args %d", argc);
-               return (char *) -1;
+               return stralloc("");
        }
 
        /* Init start and end time */
        }
 
        /* Init start and end time */
@@ -584,14 +584,14 @@ char* printstrftime(long argc, const char **args){
        /* Parse the start and end times we were given */
        if( (parsetime_error = parsetime( args[1], &start_tv))) {
                rrd_set_error( "start time: %s", parsetime_error);
        /* Parse the start and end times we were given */
        if( (parsetime_error = parsetime( args[1], &start_tv))) {
                rrd_set_error( "start time: %s", parsetime_error);
-               return (char *) -1;
+               return stralloc("");
        }
        if( (parsetime_error = parsetime( args[2], &end_tv))) {
                rrd_set_error( "end time: %s", parsetime_error);
        }
        if( (parsetime_error = parsetime( args[2], &end_tv))) {
                rrd_set_error( "end time: %s", parsetime_error);
-               return (char *) -1;
+               return stralloc("");
        }
        if( proc_start_end( &start_tv, &end_tv, &start_tmp, &end_tmp) == -1) {
        }
        if( proc_start_end( &start_tv, &end_tv, &start_tmp, &end_tmp) == -1) {
-               return (char *) -1;
+               return stralloc("");
        }
 
        /* Do we do the start or end */
        }
 
        /* Do we do the start or end */
@@ -603,7 +603,7 @@ char* printstrftime(long argc, const char **args){
        }
        else {
                rrd_set_error( "start/end not found in '%s'", args[0]);
        }
        else {
                rrd_set_error( "start/end not found in '%s'", args[0]);
-               return (char *) -1;
+               return stralloc("");
        }
 
        /* now format it */
        }
 
        /* now format it */
@@ -612,7 +612,7 @@ char* printstrftime(long argc, const char **args){
        }
        else {
                rrd_set_error( "strftime failed");
        }
        else {
                rrd_set_error( "strftime failed");
-               return (char *) -1;
+               return stralloc("");
        }
 }
 
        }
 }