@@ -205,14 +205,17 @@ configureScreenSection(int screennum)
205205{
206206 int i ;
207207 int depths [] = { 1 , 4 , 8 , 15 , 16 , 24 /*, 32 */ };
208- char * tmp ;
208+ char * tmp = NULL ;
209209 parsePrologue (XF86ConfScreenPtr , XF86ConfScreenRec );
210210
211- XNFasprintf (& tmp , "Screen%d" , screennum );
211+ if (asprintf (& tmp , "Screen%d" , screennum ) == -1 )
212+ return NULL ;
212213 ptr -> scrn_identifier = tmp ;
213- XNFasprintf (& tmp , "Monitor%d" , screennum );
214+ if (asprintf (& tmp , "Monitor%d" , screennum ) == -1 )
215+ return NULL ;
214216 ptr -> scrn_monitor_str = tmp ;
215- XNFasprintf (& tmp , "Card%d" , screennum );
217+ if (asprintf (& tmp , "Card%d" , screennum ) == -1 )
218+ return NULL ;
216219 ptr -> scrn_device_str = tmp ;
217220
218221 for (i = 0 ; i < ARRAY_SIZE (depths ); i ++ ) {
@@ -368,23 +371,24 @@ configureLayoutSection(void)
368371 }
369372
370373 for (scrnum = 0 ; scrnum < nDevToConfig ; scrnum ++ ) {
371- char * tmp ;
374+ char * tmp = NULL ;
372375
373376 XF86ConfAdjacencyPtr aptr = calloc (1 , sizeof (XF86ConfAdjacencyRec ));
374377 assert (aptr );
375378 aptr -> list .next = NULL ;
376379 aptr -> adj_x = 0 ;
377380 aptr -> adj_y = 0 ;
378381 aptr -> adj_scrnum = scrnum ;
379- XNFasprintf (& tmp , "Screen%d" , scrnum );
382+ asprintf (& tmp , "Screen%d" , scrnum );
380383 aptr -> adj_screen_str = tmp ;
381384 if (scrnum == 0 ) {
382385 aptr -> adj_where = CONF_ADJ_ABSOLUTE ;
383386 aptr -> adj_refscreen = NULL ;
384387 }
385388 else {
386389 aptr -> adj_where = CONF_ADJ_RIGHTOF ;
387- XNFasprintf (& tmp , "Screen%d" , scrnum - 1 );
390+ tmp == NULL ;
391+ asprintf (& tmp , "Screen%d" , scrnum - 1 );
388392 aptr -> adj_refscreen = tmp ;
389393 }
390394 ptr -> lay_adjacency_lst =
@@ -443,10 +447,11 @@ configureFilesSection(void)
443447static XF86ConfMonitorPtr
444448configureMonitorSection (int screennum )
445449{
446- char * tmp ;
450+ char * tmp = NULL ;
447451 parsePrologue (XF86ConfMonitorPtr , XF86ConfMonitorRec );
448452
449- XNFasprintf (& tmp , "Monitor%d" , screennum );
453+ if (asprintf (& tmp , "Monitor%d" , screennum ) == -1 )
454+ return NULL ;
450455 ptr -> mon_identifier = tmp ;
451456 ptr -> mon_vendor = XNFstrdup ("Monitor Vendor" );
452457 ptr -> mon_modelname = XNFstrdup ("Monitor Model" );
@@ -492,10 +497,12 @@ configureDDCMonitorSection(int screennum)
492497
493498 parsePrologue (XF86ConfMonitorPtr , XF86ConfMonitorRec );
494499
495- XNFasprintf (& tmp , "Monitor%d" , screennum );
500+ if (asprintf (& tmp , "Monitor%d" , screennum ) == -1 )
501+ return NULL ;
496502 ptr -> mon_identifier = tmp ;
497503 ptr -> mon_vendor = XNFstrdup (ConfiguredMonitor -> vendor .name );
498- XNFasprintf (& ptr -> mon_modelname , "%x" , ConfiguredMonitor -> vendor .prod_id );
504+ if (asprintf (& ptr -> mon_modelname , "%x" , ConfiguredMonitor -> vendor .prod_id ) == -1 )
505+ FatalError ("malloc failed\n" );
499506
500507 /* features in centimetres, we want millimetres */
501508 mon_width = 10 * ConfiguredMonitor -> features .hsize ;
@@ -866,8 +873,11 @@ DoShowOptions(void)
866873 xf86DriverList [i ]-> driverName );
867874 continue ;
868875 }
869- XNFasprintf (& pSymbol , "%sModuleData" ,
870- xf86DriverList [i ]-> driverName );
876+ if (asprintf (& pSymbol , "%sModuleData" ,
877+ xf86DriverList [i ]-> driverName ) == -1 ) {
878+ ErrorF ("(EE) malloc failed\n" );
879+ continue ;
880+ }
871881 initData = LoaderSymbol (pSymbol );
872882 if (initData ) {
873883 XF86ModuleVersionInfo * vers = initData -> vers ;
0 commit comments