mp3splt and libmp3splt: drop (#408228)
This commit is contained in:
@@ -1,106 +0,0 @@
|
||||
From 2c0bb6891349ed880634352e4551ed48002e53eb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= <sergio@serjux.com>
|
||||
Date: Fri, 4 Aug 2023 13:54:03 +0100
|
||||
Subject: [PATCH] fix snprintf overflow
|
||||
|
||||
fix *** buffer overflow detected ***: terminated
|
||||
|
||||
fix #367
|
||||
---
|
||||
src/oformat_parser.c | 20 ++++++++++----------
|
||||
1 file changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/oformat_parser.c b/src/oformat_parser.c
|
||||
index 7bc5edcf..3775d035 100644
|
||||
--- a/src/oformat_parser.c
|
||||
+++ b/src/oformat_parser.c
|
||||
@@ -534,7 +534,7 @@ int splt_of_put_output_format_filename(splt_state *state, int current_split)
|
||||
int max_number_of_digits = splt_u_get_requested_num_of_digits(state,
|
||||
state->oformat.format[i], &requested_num_of_digits, SPLT_FALSE);
|
||||
|
||||
- snprintf(temp + offset, temp_len, "%s", format);
|
||||
+ snprintf(temp + offset, temp_len - offset, "%s", format);
|
||||
|
||||
fm_length = strlen(temp) + 1 + max_number_of_digits;
|
||||
if ((fm = malloc(fm_length * sizeof(char))) == NULL)
|
||||
@@ -564,7 +564,7 @@ int splt_of_put_output_format_filename(splt_state *state, int current_split)
|
||||
//
|
||||
if (artist_or_performer != NULL)
|
||||
{
|
||||
- snprintf(temp+2,temp_len, "%s", state->oformat.format[i]+2);
|
||||
+ snprintf(temp+2,temp_len-2, "%s", state->oformat.format[i]+2);
|
||||
|
||||
int artist_length = 0;
|
||||
artist_length = strlen(artist_or_performer);
|
||||
@@ -609,7 +609,7 @@ int splt_of_put_output_format_filename(splt_state *state, int current_split)
|
||||
//
|
||||
if (artist != NULL)
|
||||
{
|
||||
- snprintf(temp+2,temp_len, "%s", state->oformat.format[i]+2);
|
||||
+ snprintf(temp+2,temp_len-2, "%s", state->oformat.format[i]+2);
|
||||
|
||||
int artist_length = 0;
|
||||
artist_length = strlen(artist);
|
||||
@@ -655,7 +655,7 @@ int splt_of_put_output_format_filename(splt_state *state, int current_split)
|
||||
{
|
||||
int album_length = 0;
|
||||
album_length = strlen(album);
|
||||
- snprintf(temp+2, temp_len, "%s", state->oformat.format[i]+2);
|
||||
+ snprintf(temp+2, temp_len-2, "%s", state->oformat.format[i]+2);
|
||||
|
||||
fm_length = strlen(temp) + album_length + 1;
|
||||
}
|
||||
@@ -699,7 +699,7 @@ int splt_of_put_output_format_filename(splt_state *state, int current_split)
|
||||
{
|
||||
int genre_length = 0;
|
||||
genre_length = strlen(genre);
|
||||
- snprintf(temp+2, temp_len, "%s", state->oformat.format[i]+2);
|
||||
+ snprintf(temp+2, temp_len-2, "%s", state->oformat.format[i]+2);
|
||||
|
||||
fm_length = strlen(temp) + genre_length + 1;
|
||||
}
|
||||
@@ -743,7 +743,7 @@ int splt_of_put_output_format_filename(splt_state *state, int current_split)
|
||||
{
|
||||
int title_length = 0;
|
||||
title_length = strlen(title);
|
||||
- snprintf(temp+2, temp_len, "%s", state->oformat.format[i]+2);
|
||||
+ snprintf(temp+2, temp_len-2, "%s", state->oformat.format[i]+2);
|
||||
|
||||
fm_length = strlen(temp) + title_length + 1;
|
||||
}
|
||||
@@ -787,7 +787,7 @@ int splt_of_put_output_format_filename(splt_state *state, int current_split)
|
||||
{
|
||||
int performer_length = 0;
|
||||
performer_length = strlen(performer);
|
||||
- snprintf(temp+2, temp_len, "%s", state->oformat.format[i]+2);
|
||||
+ snprintf(temp+2, temp_len-2, "%s", state->oformat.format[i]+2);
|
||||
|
||||
fm_length = strlen(temp) + performer_length + 1;
|
||||
}
|
||||
@@ -862,7 +862,7 @@ int splt_of_put_output_format_filename(splt_state *state, int current_split)
|
||||
const char *format =
|
||||
splt_u_get_format_ptr(state->oformat.format[i], temp, NULL);
|
||||
|
||||
- snprintf(temp + 4, temp_len, "%s", format + 2);
|
||||
+ snprintf(temp + 4, temp_len-4, "%s", format + 2);
|
||||
fm_length = strlen(temp) + 1 + max_num_of_digits;
|
||||
}
|
||||
else
|
||||
@@ -903,7 +903,7 @@ int splt_of_put_output_format_filename(splt_state *state, int current_split)
|
||||
original_filename = strdup(splt_su_get_fname_without_path(splt_t_get_filename_to_split(state)));
|
||||
if (original_filename)
|
||||
{
|
||||
- snprintf(temp+2,temp_len, "%s", state->oformat.format[i]+2);
|
||||
+ snprintf(temp+2,temp_len-2 , "%s", state->oformat.format[i]+2);
|
||||
|
||||
splt_su_cut_extension(original_filename);
|
||||
|
||||
@@ -934,7 +934,7 @@ int splt_of_put_output_format_filename(splt_state *state, int current_split)
|
||||
|
||||
if (last_dir)
|
||||
{
|
||||
- snprintf(temp+2, temp_len, "%s", state->oformat.format[i]+2);
|
||||
+ snprintf(temp+2, temp_len-2, "%s", state->oformat.format[i]+2);
|
||||
|
||||
int last_dir_length = strlen(last_dir);
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
libtool,
|
||||
libmad,
|
||||
libid3tag,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libmp3splt";
|
||||
version = "0.9.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/mp3splt/${pname}-${version}.tar.gz";
|
||||
sha256 = "1p1mn2hsmj5cp40fnc8g1yfvk72p8pjxi866gjdkgjsqrr7xdvih";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix buffer overflow in string formatting: https://github.com/mp3splt/mp3splt/pull/368
|
||||
./fix-buffer-overflow.patch
|
||||
];
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
nativeBuildInputs = [ libtool ];
|
||||
buildInputs = [
|
||||
libmad
|
||||
libid3tag
|
||||
];
|
||||
|
||||
configureFlags = [ "--disable-pcre" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://sourceforge.net/projects/mp3splt/";
|
||||
description = "Utility to split mp3, ogg vorbis and FLAC files without decoding";
|
||||
maintainers = with maintainers; [ bosu ];
|
||||
platforms = platforms.unix;
|
||||
license = licenses.gpl2;
|
||||
};
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
pkg-config,
|
||||
libmp3splt,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mp3splt";
|
||||
version = "2.6.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
|
||||
sha256 = "1aiv20gypb6r84qabz8gblk8vi42cg3x333vk2pi3fyqvl82phry";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
"--enable-oggsplt-symlink"
|
||||
"--enable-flacsplt-symlink"
|
||||
];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ libmp3splt ];
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Utility to split mp3, ogg vorbis and FLAC files without decoding";
|
||||
homepage = "https://sourceforge.net/projects/mp3splt/";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.bosu ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -1002,6 +1002,7 @@ mapAliases {
|
||||
libixp_hg = libixp;
|
||||
libjpeg_drop = throw "'libjpeg_drop' has been renamed to/replaced by 'libjpeg_original'"; # Converted to throw 2024-10-17
|
||||
liblastfm = throw "'liblastfm' has been renamed to/replaced by 'libsForQt5.liblastfm'"; # Converted to throw 2024-10-17
|
||||
libmp3splt = throw "'libmp3splt' has been removed due to lack of maintenance upstream."; # Added 2025-05-17
|
||||
libmx = throw "'libmx' has been removed due to lack of maintenance upstream."; # Added 2024-12-04
|
||||
liboop = throw "liboop has been removed as it is unmaintained upstream."; # Added 2024-08-14
|
||||
libosmo-sccp = libosmo-sigtran; # Added 2024-12-20
|
||||
@@ -1241,6 +1242,7 @@ mapAliases {
|
||||
mongodb-5_0 = throw "mongodb-5_0 has been removed, it's end of life since October 2024"; # Added 2024-10-01
|
||||
moz-phab = mozphab; # Added 2022-08-09
|
||||
mp3info = throw "'mp3info' has been removed due to lack of maintenance upstream. Consider using 'eartag' or 'tagger' instead"; # Added 2024-09-14
|
||||
mp3splt = throw "'mp3splt' has been removed due to lack of maintenance upstream."; # Added 2025-05-17
|
||||
mpc-cli = mpc; # Added 2024-10-14
|
||||
mpc_cli = mpc; # Added 2024-10-14
|
||||
mpd_clientlib = throw "'mpd_clientlib' has been renamed to/replaced by 'libmpdclient'"; # Converted to throw 2024-10-17
|
||||
|
||||
Reference in New Issue
Block a user