Changeset 4613


Ignore:
Timestamp:
08/27/08 17:32:20 (5 years ago)
Author:
tick
Message:

[opkg] fix opkg crashes if PATH is unset

Thanks for chgros

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/target/opkg/libopkg/opkg_cmd.c

    r4557 r4613  
    313313{ 
    314314    opkg_intercept_t ctx; 
     315    char *oldpath; 
    315316    char *newpath; 
    316317    int gen; 
    317318 
    318319    ctx = malloc (sizeof (*ctx)); 
    319     ctx->oldpath = strdup (getenv ("PATH")); 
     320    oldpath = getenv ("PATH"); 
     321    if (oldpath) { 
     322        ctx->oldpath = strdup (oldpath); 
     323    } else { 
     324        ctx->oldpath = 0; 
     325    } 
     326 
    320327 
    321328    sprintf_alloc (&newpath, "%s/opkg/intercept:%s", DATADIR, ctx->oldpath); 
     
    345352    int err = 0; 
    346353 
    347     setenv ("PATH", ctx->oldpath, 1); 
    348     free (ctx->oldpath); 
     354    if (ctx->oldpath) { 
     355        setenv ("PATH", ctx->oldpath, 1); 
     356        free (ctx->oldpath); 
     357    } else { 
     358        unsetenv("PATH");  
     359    } 
    349360 
    350361    dir = opendir (ctx->statedir); 
Note: See TracChangeset for help on using the changeset viewer.