summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Wilgus <wilgus.william@gmail.com>2024-06-02 11:32:06 -0400
committerWilliam Wilgus <me.theuser@yahoo.com>2024-06-02 12:42:45 -0400
commitbbdba5341339d5607dabedde5e15d24b19dff619 (patch)
tree15e53076a3d32da41c7d0c9c8b7f9601c6e9d607
parent2e603165000c097bae8e9cecd502912a50006a5a (diff)
downloadrockbox-bbdba53413.tar.gz
rockbox-bbdba53413.zip
[coverity] bookmark.c fix add_bookmark & false positive in remove_bookmark
Change-Id: Ifad76ac8cb297a8008127d4cd73056c5309167c1
-rw-r--r--apps/bookmark.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/apps/bookmark.c b/apps/bookmark.c
index 08f63469aa..f76edd256e 100644
--- a/apps/bookmark.c
+++ b/apps/bookmark.c
@@ -290,14 +290,17 @@ static bool add_bookmark(const char* bookmark_file_name,
uint32_t pl_hash, pl_track_hash;
uint32_t bm_pl_hash, bm_pl_track_hash;
+ if (!bookmark)
+ return false; /* no bookmark */
+
/* Opening up a temp bookmark file */
temp_bookmark_file = open_temp_bookmark(fnamebuf,
sizeof(fnamebuf),
O_WRONLY | O_CREAT | O_TRUNC,
bookmark_file_name);
- if (temp_bookmark_file < 0 || !bookmark)
- return false; /* can't open the temp file or no bookmark */
+ if (temp_bookmark_file < 0)
+ return false; /* can't open the temp file */
if (most_recent && ((global_settings.usemrb == BOOKMARK_ONE_PER_PLAYLIST)
|| (global_settings.usemrb == BOOKMARK_ONE_PER_TRACK)))
@@ -876,10 +879,10 @@ static bool delete_bookmark(const char* bookmark_file_name, int bookmark_id)
close(temp_bookmark_file);
/* only retrieve the path*/
- open_temp_bookmark(global_temp_buffer,
+ close(open_temp_bookmark(global_temp_buffer,
sizeof(global_temp_buffer),
O_PATH,
- bookmark_file_name);
+ bookmark_file_name));
remove(bookmark_file_name);
rename(global_temp_buffer, bookmark_file_name);