Fix seg fault on ps3 flash error
authorGeoff Levand <geoffrey.levand@am.sony.com>
Wed, 26 Aug 2009 00:25:12 +0000 (17:25 -0700)
committerGeoff Levand <geoffrey.levand@am.sony.com>
Wed, 26 Aug 2009 00:40:00 +0000 (17:40 -0700)
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
lib/log/log.h
ui/common/ps3.c
ui/common/url.c

index 2a5d375d8cdfe38951042daa46e9458d178f1ade..6f44bea0d38ac1fd9bd543676757ce47af788a64 100644 (file)
@@ -3,7 +3,7 @@
 
 #include <stdio.h>
 
-void pb_log(const char *fmt, ...);
+void __attribute__ ((format (printf, 1, 2))) pb_log(const char *fmt, ...);
 void pb_log_set_stream(FILE *stream);
 FILE * pb_log_get_stream(void);
 void pb_log_always_flush(int state);
index cb1c8d1e3b9fadbb0027835d21ba0f34fca4d218..c62a10d20dffc4f5f8eee107ac42ffa04c549d0a 100644 (file)
@@ -87,7 +87,7 @@ static int ps3_flash_open(struct ps3_flash_ctx *fc, const char *mode)
        result = os_area_fixed_read(&fc->header, &fc->params, fc->dev);
 
        if (result) {
-               pb_log("%s: os_area_fixed_read failed: %s\n", __func__);
+               pb_log("%s: os_area_fixed_read failed\n", __func__);
                goto fail;
        }
 
@@ -114,7 +114,7 @@ int ps3_flash_get_values(struct ps3_flash_values *values)
        result = ps3_flash_open(&fc, "r");
 
        if (result)
-               goto done;
+               goto fail;
 
        result = os_area_db_read(&fc.db, &fc.header, fc.dev);
 
@@ -123,7 +123,7 @@ int ps3_flash_get_values(struct ps3_flash_values *values)
        if (result) {
                pb_log("%s: os_area_db_read failed: %s\n", __func__,
                        strerror(errno));
-               goto done;
+               goto fail;
        }
 
        sum = result = os_area_db_get(&fc.db, &id_default_item, &tmp);
@@ -141,14 +141,13 @@ int ps3_flash_get_values(struct ps3_flash_values *values)
        if (!result)
                values->video_mode = (uint16_t)tmp;
 
-done:
        pb_log("%s: default_item: %x\n", __func__,
                (unsigned int)values->default_item);
        pb_log("%s: timeout: %u\n", __func__,
                (unsigned int)values->timeout);
        pb_log("%s: video_mode:   %u\n", __func__,
                (unsigned int)values->video_mode);
-
+fail:
        return (result || sum) ? -1 : 0;
 }
 
index 0de0f5858340d390af5d867d18b9056edf687fde..544eee2091a171f688907d6b6740c1ac350c9f93 100644 (file)
@@ -140,7 +140,7 @@ struct pb_url *pb_url_parse(void *ctx, const char *url_str)
                path = strchr(p, '/');
 
                if (!path) {
-                       pb_log("%s: parse path failed '%s'\n", p);
+                       pb_log("%s: parse path failed '%s'\n", __func__ , p);
                        goto fail;
                }