<div dir="ltr">May I please ask for assistance with this code?  I'm trying to close a dataset with subdatasets and then reopen if the requested subdataset is found. <div><br></div><div>It segfaults for all but the last subdataset name ... and I'm at a loss for what I'm doing wrong. </div><div><br></div><div>Thank you. </div><div><br></div><div><div>Code below, and this gist documents it with a little more details: <a href="https://gist.github.com/mdsumner/2ffc9b4746454fa0152b4a250900e535">https://gist.github.com/mdsumner/2ffc9b4746454fa0152b4a250900e535</a></div><div><br></div></div><div>Cheers, Mike</div><div><br></div><div><br></div><div>#include "gdal.h"<br>#include "gdal_priv.h"<br>#include <iostream><br>int main(int argc, char **argv) {<br>  GDALAllRegister();<br><br>  auto poSrcDS =<br>    GDALDataset::Open(argv[1], GDAL_OF_RASTER, nullptr, nullptr, nullptr);<br>  if (poSrcDS == nullptr)<br>  {<br>    return 0;<br>  }<br>  char **papszSubdatasets = poSrcDS->GetMetadata("SUBDATASETS");<br>  int nSubdatasets = CSLCount(papszSubdatasets);<br>  char *pszSubdatasetSource = nullptr;<br>  if (nSubdatasets > 0)<br>  {<br>    for (int j = 0; j < nSubdatasets; j += 2)<br>    {<br>      pszSubdatasetSource = CPLStrdup(strstr(papszSubdatasets[j], "=") + 1);<br>      GDALSubdatasetInfoH info = GDALGetSubdatasetInfo(pszSubdatasetSource);<br>      if ( EQUAL(argv[2], GDALSubdatasetInfoGetSubdatasetComponent(info))) {<br>        std::cout << pszSubdatasetSource << "\n";<br>        poSrcDS->ReleaseRef();<br>        poSrcDS = GDALDataset::Open(pszSubdatasetSource, GDAL_OF_RASTER, nullptr, nullptr, nullptr);<br>        CPLFree(pszSubdatasetSource);<br>        GDALDestroySubdatasetInfo(info);<br><br>      }<br>    }<br>  }<br><br>  poSrcDS->ReleaseRef();<br>  return 1;<br>}<br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Michael Sumner<br>Software and Database Engineer<br>Australian Antarctic Division<br>Hobart, Australia<br>e-mail: <a href="mailto:mdsumner@gmail.com" target="_blank">mdsumner@gmail.com</a></div></div></div>