Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
403 results
Show changes
Commits on Source (2)
  • Thomas Guillem's avatar
    playlist: fix use-after-free with the preparser · e31a6401
    Thomas Guillem authored and Steve Lhomme's avatar Steve Lhomme committed
    vlc_preparser_Deactivate() won't prevent any callbacks to be called, it
    will just cancel all pending tasks and ensure no tasks are pushed
    anymore. vlc_preparser_Delete() will wait for the executor threads and
    prevent callbacks to be called.
    
    Fixes the following use-after-free:
    
    ==1190318==ERROR: AddressSanitizer: heap-use-after-free on address 0x517000003fb0 at pc 0x7f1f71dff3e5 bp 0x7f1f6e5feb00 sp 0x7f1f6e5feaf8
    READ of size 8 at 0x517000003fb0 thread T2 (vlc-run-searchl)
        #0 0x7f1f71dff3e4 in vlc_mutex_held ../../src/misc/threads.c:91
        #1 0x7f1f71d5a41c in vlc_player_Lock ../../src/player/player.c:943
        #2 0x7f1f71ce9891 in vlc_playlist_Lock ../../src/playlist/playlist.c:101
        #3 0x7f1f71ce9d54 in on_preparse_ended ../../src/playlist/preparse.c:99
        #4 0x7f1f71cf2c7a in NotifyPreparseEnded ../../src/preparser/preparser.c:153
        #5 0x7f1f71cf2d4c in OnArtFetchEnded ../../src/preparser/preparser.c:205
        #6 0x7f1f71cf003d in NotifyArtFetchEnded ../../src/preparser/fetcher.c:296
        #7 0x7f1f71cf1c0e in RunSearchLocal ../../src/preparser/fetcher.c:393
        #8 0x7f1f71debd07 in ThreadRun ../../src/misc/executor.c:134
        #9 0x7f1f7205b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
        #10 0x7f1f7195f111 in start_thread nptl/pthread_create.c:447
        #11 0x7f1f719dd8f7 in __clone3 ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
    
    0x517000003fb0 is located 48 bytes inside of 656-byte region [0x517000003f80,0x517000004210)
    freed by thread T0 here:
        #0 0x7f1f720f3918 in free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:52
        #1 0x7f1f71e0be6f in vlc_object_delete ../../src/misc/objects.c:144
        #2 0x7f1f71d5f35e in vlc_player_Delete ../../src/player/player.c:1909
        #3 0x7f1f71ce8d9e in vlc_playlist_PlayerDestroy ../../src/playlist/player.c:169
        #4 0x7f1f71ce9801 in vlc_playlist_Delete ../../src/playlist/playlist.c:90
        #5 0x7f1f71ca8286 in libvlc_InternalCleanup ../../src/libvlc.c:367
        #6 0x7f1f71fcc756 in libvlc_release ../../lib/core.c:114
        #7 0x560dae321a97 in main ../../bin/vlc.c:275
        #8 0x7f1f718f6d67 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
    e31a6401
  • Thomas Guillem's avatar
    preparser: remove vlc_preparser_Deactivate() · f70449a6
    Thomas Guillem authored and Steve Lhomme's avatar Steve Lhomme committed
    It is now unused, cf previous commit.
    f70449a6
......@@ -225,16 +225,6 @@ VLC_API size_t vlc_preparser_Cancel( vlc_preparser_t *preparser,
*/
VLC_API void vlc_preparser_Delete( vlc_preparser_t *preparser );
/**
* This function deactivates the preparser
*
* All pending requests will be removed, and it will block until the currently
* running entity has finished (if any).
*
* @param preparser the preparser object
*/
VLC_API void vlc_preparser_Deactivate( vlc_preparser_t *preparser );
/**
* Do not use, libVLC only fonction, will be removed soon
*/
......
......@@ -1040,5 +1040,4 @@ vlc_preparser_Push
vlc_preparser_GenerateThumbnail
vlc_preparser_Cancel
vlc_preparser_Delete
vlc_preparser_Deactivate
vlc_preparser_SetTimeout
......@@ -85,13 +85,11 @@ vlc_playlist_Delete(vlc_playlist_t *playlist)
assert(vlc_list_is_empty(&playlist->listeners));
if (playlist->parser != NULL)
vlc_preparser_Deactivate(playlist->parser);
vlc_preparser_Delete(playlist->parser);
vlc_playlist_PlayerDestroy(playlist);
randomizer_Destroy(&playlist->randomizer);
vlc_playlist_ClearItems(playlist);
if (playlist->parser != NULL)
vlc_preparser_Delete(playlist->parser);
free(playlist);
}
......
......@@ -44,7 +44,6 @@ struct vlc_preparser_t
vlc_executor_t *parser;
vlc_executor_t *thumbnailer;
vlc_tick_t timeout;
atomic_bool deactivated;
vlc_mutex_t lock;
vlc_preparser_req_id current_id;
......@@ -461,8 +460,6 @@ vlc_preparser_t* vlc_preparser_New( vlc_object_t *parent,
else
preparser->thumbnailer = NULL;
atomic_init( &preparser->deactivated, false );
vlc_mutex_init(&preparser->lock);
vlc_list_init(&preparser->submitted_tasks);
preparser->current_id = 1;
......@@ -485,9 +482,6 @@ vlc_preparser_req_id vlc_preparser_Push( vlc_preparser_t *preparser, input_item_
const input_item_parser_cbs_t *cbs,
void *cbs_userdata )
{
if( atomic_load( &preparser->deactivated ) )
return VLC_PREPARSER_REQ_ID_INVALID;
assert((type_options & VLC_PREPARSER_TYPE_THUMBNAIL) == 0);
assert(type_options & VLC_PREPARSER_TYPE_PARSE
......@@ -534,9 +528,6 @@ vlc_preparser_GenerateThumbnail( vlc_preparser_t *preparser, input_item_t *item,
const struct vlc_thumbnailer_cbs *cbs,
void *cbs_userdata )
{
if( atomic_load( &preparser->deactivated ) )
return VLC_PREPARSER_REQ_ID_INVALID;
assert(preparser->thumbnailer != NULL);
assert(cbs != NULL && cbs->on_ended != NULL);
......@@ -602,12 +593,6 @@ size_t vlc_preparser_Cancel( vlc_preparser_t *preparser, vlc_preparser_req_id id
return count;
}
void vlc_preparser_Deactivate( vlc_preparser_t* preparser )
{
atomic_store( &preparser->deactivated, true );
vlc_preparser_Cancel(preparser, 0);
}
void vlc_preparser_SetTimeout( vlc_preparser_t *preparser,
vlc_tick_t timeout )
{
......